У меня есть User
модель:Джанго ForeignKey авто поле
class User(models.Model):
SEX = (
('M', 'Male'),
('F', 'Female'),
)
name = models.CharField("Name", max_length=100, blank=False)
surname = models.CharField("Surname",max_length=150, blank=False)
is_real = models.BooleanField("Real user", default=False)
sex = models.CharField("Sex", max_length=1, choices=SEX)
age = models.IntegerField("Age", blank=False)
Каждый User
имеет электронную почту или некоторые из них:
class Email(models.Model):
address = models.EmailField("Email Address", max_length=250)
login = models.CharField("Login", max_length=50)
password = models.CharField("Password", max_length=15)
date_created = models.DateField("Registered", auto_now_add=True)
last_login = models.DateTimeField("Last login")
belongs_to = models.ForeignKey(User, verbose_name="Owner")
Также User
может иметь блог:
class Blog(models.Model):
address = models.URLField("Blog Url")
related_email = models.ForeignKey(Email, verbose_name="Registered with")
belongs_to = models.ForeignKey(User, blank=True)
Блоги обычно регистрируются по электронной почте. Так что мне нужно, если я не указал владельца блога, он должен автоматически устанавливаться владельцем регистрационного письма. Я думаю, что это можно сделать, переопределив метод save
, но не совсем уверен, как справиться с отношениями ForeignKey
.
Я думал о чем-то подобном. Я немного сомневался, но снова просмотрел документы и да, вы правы. А как насчет 'null = True' или' blank = True'? –
Да, вы должны, вероятно, добавить 'null = True' в' Blog.belongs_to' – jproffitt