У меня есть простой класс userprofile в django, такой что
class Profile(models.Model):
user = models.OneToOneField(User,unique=True)
gender = models.IntegerField(blank=True, default=0, choices=UserGender.USER_GENDER,db_column='usr_gender')
education = models.IntegerField(blank=True, default=0, choices=UserEducation.USER_EDU,db_column='usr_education')
mail_preference = models.IntegerField(blank=True, default=1, choices=UserMailPreference.USER_MAIL_PREF,db_column='usr_mail_preference')
birthyear = models.IntegerField(blank=True, default=0,db_column='usr_birthyear')
createdate = models.DateTimeField(default=datetime.datetime.now)
updatedate = models.DateTimeField(default=datetime.datetime.now)
deletedate = models.DateTimeField(blank=True,null=True)
updatedBy = models.ForeignKey(User,unique=False,null=True, related_name='%(class)s_user_update')
deleteBy = models.ForeignKey(User,unique=False,null=True, related_name='%(class)s_user_delete')
activation_key = models.CharField(max_length=40)
key_expires = models.DateTimeField()
Вы можете видеть, что deletedBy
и updatedBy
являются полями внешнего ключа для пользовательского класса.Если я не пишу related_name='%(class)s_user_update'
, это дает мне ошибку (я не знаю почему).Хотя это работает без каких-либо ошибок, оно не выдвигает идентификаторы пользователей полей deletedBy
и updatedBy
, хотя я назначаю им подходящего пользователя.
Может дать мне любую идею и объяснить часть related_name='%(class)s_user_update'
?
Спасибо