Проблема с водительскими правами. В лицензии есть имя человека, которому присваивается несколько категорий навыков вождения. Каждая категория навыков вождения имеет одну дату продления и возможные несколько связанных ограничений.
Name
Lic Cat
Renewal date
Restrictions
Tommy
AM
12/05/15
44.01, 101, 999
Tommy
E+B
14/12/16
Tommy
C
18/04/18
101
TG
E+C
14/12/16
90, 101, 999,
TG
B
18/04/18
105
модели.py
class Employee(models.Model):
name = models.CharField(max_length=75)
class DrivingLicenceCategory(models.Model):
name = models.CharField(max_length=11)
class IssuingBody(models.Model):
name = models.CharField(max_length=75)
class DrivingLicence(models.Model):
employee_id = models.ForeignKey(Employee)
driver_number = models.CharField(max_length=49)
permit_number = models.CharField(max_length=49)
issuing_body = models.ForeignKey(IssuingBody)
expiry_date = models.DateField()
class DrivingLicenceRestrictions(models.Model):
name = models.CharField(max_length=21)
description = models.CharField(max_length=1024, blank=True, null=True)
class DrivingLicenceCategoryRestrictions(models.Model):
licence_category = models.ForeignKey(DrivingLicenceCategory)
licence_restriction = models.ForeignKey(DrivingLicenceRestrictions)
expiry_date = models.DateField()
class DrivingLicenceDetail(models.Model):
driving_licence = models.ForeignKey(DrivingLicence)
category_restriction = models.ManyToManyField(DrivingLicenceCategoryRestrictions)
admin.py
from django.contrib import admin
from drvlic.models import *
class DrvLicIssuingBodyAdmin(admin.ModelAdmin):
search_fields = ('^name', )
class DrvLicCategoryAdmin(admin.ModelAdmin):
search_fields = ('^name',)
class DrvLicRestrictionsAdmin(admin.ModelAdmin):
search_fields = ('^name', )
list_display = ('id', 'name', 'description',)
class DrvLicLicenceAdmin(admin.ModelAdmin):
search_fields = ('^employee',)
class DrvLicCategoryRestrictionsAdmin(admin.ModelAdmin):
search_fields = ('^employee',)
filter_horizontal = ('licence_category', 'licence_restriction')
admin.site.register(DrvLicIssuingBody, DrvLicIssuingBodyAdmin)
admin.site.register(DrvLicCategory, DrvLicCategoryAdmin)
admin.site.register(DrvLicRestrictions, DrvLicRestrictionsAdmin)
admin.site.register(DrvLicLicence, DrvLicLicenceAdmin)
admin.site.register(DrvLicCategoryRestrictions, DrvLicCategoryRestrictionsAdmin)
Подходит ли моя модель для создания приведенной выше таблицы в Django Admin или модель должна быть другой? Как настроить admin.py, чтобы разрешить доступ и ввести данные?
Джанго говорит мне, что 'DrvLicCategoryRestrictionsAdmin.filter_horizontal[0]' must be a ManyToManyField'
. Я думаю, что это не имеет значения, если models.py построен неправильно.