Отношение многие ко многим Django Models с дополнительными атрибутами - PullRequest
0 голосов
/ 26 декабря 2018

Я новичок в разработке Django (и в программировании MVC в целом!), Рассматривая следующий пример, как я могу преобразовать эти объекты в модели?

USER (идентификатор, имя, фамилия)

ENGLISH_CERTIFICATION (идентификатор, код, имя)

USER_CERTIFICATION (идентификатор, id_user, id_english_certification, дата)


class User(models.Model):
    name = models.CharField(max_length=64)
    surname = models.CharField(max_length=64)
    ???

class EnglishCertification(models.Model):
    code= models.CharField(max_length=2)
    name = models.CharField(max_length=64)
    ???

Где я помещаю отношения и поле «дата»?Спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

Если вы хотите создать модели, которые точно представляют сущности, как вы описали, вы можете просто создать дополнительную модель, подобную:

class UserCertification(models.Model):
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    english_certification = models.ForeignKey('EnglishCertification', on_delete=models.CASCADE)
    date = models.DateField()

Конечно, вам нужно будет адаптировать приведенный выше код в зависимости от вашегонеобходимо.Для получения дополнительной информации вы можете взглянуть на:

https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/

Надеюсь, это поможет

...