Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AVTOMOBILI
- Modeli)
- from django.contrib.auth.models import User
- from django.db import models
- # Create your models here.
- class Avtomobil(models.Model):
- tip=models.CharField(max_length=100)
- maxBrzina=models.IntegerField()
- boja=models.CharField(max_length=100)
- class Rabotilnica(models.Model):
- ime=models.CharField(max_length=100)
- godinaOsnovanje=models.CharField(max_length=100)
- infoTip=models.BooleanField()
- class Proizvoditel(models.Model):
- ime=models.CharField(max_length=100)
- link=models.CharField(max_length=100)
- zemjaPoreklo=models.CharField(max_length=100)
- imeSopstvenik=models.CharField(max_length=100)
- class Popravka(models.Model):
- kod=models.CharField(max_length=100)
- datum=models.CharField(max_length=100)
- opis=models.CharField(max_length=100)
- korisnik=models.ForeignKey(User,on_delete=models.CASCADE)
- fotografija=models.ImageField('popravki/',null=True,blank=True)
- avtomobilinfo = models.ForeignKey(Avtomobil, on_delete=models.CASCADE)
- rabotilnica=models.ForeignKey(Rabotilnica, on_delete=models.CASCADE)
- class RabotilnicaProizvoditel(models.Model):
- rabotilnica = models.ForeignKey(Rabotilnica, on_delete=models.CASCADE)
- proizvoditel = models.ForeignKey(Proizvoditel, on_delete=models.CASCADE)
- -------------------------------------------------
- Admin)
- from django.contrib import admin
- from Avtomobil.models import Avtomobil, Popravka, Rabotilnica, Proizvoditel,RabotilnicaProizvoditel
- # Регистрација на моделот Автомобил
- class AvtomobilAdmin(admin.ModelAdmin):
- list_display = ('tip', 'boja')
- admin.site.register(Avtomobil, AvtomobilAdmin)
- # Автоматско доделување на најавениот корисник при креирање на поправка
- class PopravkaAdmin(admin.ModelAdmin):
- list_display = ('kod', 'datum', 'opis', 'korisnik', 'avtomobilinfo', 'rabotilnica')
- def save_model(self, request, obj, form, change):
- if not obj.korisnik: # Доделување на тековниот корисник само при креирање
- obj.korisnik = request.user
- super().save_model(request, obj, form, change)
- admin.site.register(Popravka, PopravkaAdmin)
- # Само супер корисник може да додава производители на автомобили
- class ProizvoditelAdmin(admin.ModelAdmin):
- def has_add_permission(self, request):
- return request.user.is_superuser
- def save_model(self, request, obj, form, change):
- if not request.user.is_superuser:
- return
- super().save_model(request, obj, form, change)
- admin.site.register(Proizvoditel, ProizvoditelAdmin)
- # со забелешка дека производителите-соработници на
- # една работилница се додаваат во делот за работилницата
- class RabotilnicaProizvoditelAdmin(admin.StackedInline):
- model = RabotilnicaProizvoditel
- extra = 1
- # Забрана за промена и бришење на работилници по зачувување
- class RabotilnicaAdmin(admin.ModelAdmin):
- inlines = [RabotilnicaProizvoditelAdmin]
- list_display = ('ime', 'godinaOsnovanje', 'infoTip')
- def has_change_permission(self, request, obj=None):
- if obj:
- return False # Забрана за промена на зачувани работилници
- return True
- def has_delete_permission(self, request, obj=None):
- return False # Забрана за бришење на работилници
- admin.site.register(Rabotilnica, RabotilnicaAdmin)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement