Новое для программирования, и это очень сбивает меня с толку ... У меня есть 2 модели. Департамент и Кроссфункциональный проект. Связь между двумя моделями создает таблицу соединений, называемую Department_Crossfunctionalproject.DJANGO: отношения «многие ко многим» с дополнительными полями
У меня есть другая модель, называемая сотрудником. Я хочу добавить сотрудников в таблицу Department_Crossfunctional. Как я могу это сделать?
Я следую этому руководству: https://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships. Не могу ли я сделать это в автоматически созданной таблице соединений раздела department_crossfunctionalproject, которую создает DJANGO?
я получаю следующее сообщение об ошибке:
CommandError("One or more models did not validate:\n%s" % error_text)
django.core.management.base.CommandError: One or more models did not validate:
companydatabase.membership:"Department_crossfunctionalproject" has a relationship with model <class 'companydatabase.models.Department_crossfunctionalproject'>,
which has either not been installed or is abstract.
МОДЕЛИ:
class Crossfunctionalproject(models.Model):
nameofproject = models.CharField(max_length=50)
def __unicode__(self):
return self.nameofproject
class Department(models.Model):
name = models.CharField(max_length=100)
project = models.ManyToManyField(Crossfunctionalproject, null=True, blank=True)
class Employee(models.Model):
employeenumber = models.CharField(max_length=50)
fname = models.CharField(max_length=50, verbose_name='First Name')
mname = models.CharField(max_length=50, null=True, blank=True, verbose_name='Middle Name')
lname = models.CharField(max_length=50, verbose_name='Last Name')
email = models.EmailField(null=True, blank=True, verbose_name='Email')
phone = models.CharField(max_length=50, null=True, blank=True, verbose_name='Phone')
title = models.CharField(max_length=50, null=True, blank=True, verbose_name='Position')
# db table created by DJANGO, I wrote out the model, trying to add extra columns*
class Department_crossfunctionalproject(models.Model):
department = models.ForeignKey(Department)
crossfunctionalproject = models.ForeignKey(Crossfunctonalproject)
membership = models.ManyToManyField(Employee, through="Membership")
class Membership(models.Model):
employee = models.ForeignKey(Employee)
department_crossfunctionalproject = models.ForeignKey(Department_crossfunctionalproject)
whytheyjoined = models.CharField(max_length=100)
У вас есть ошибка в 'Employee.title.verbose_name' -> missing' '' в конце. –
спасибо, что была ошибка при копировании кода здесь – thedeepfield