Возможно ли, чтобы один атрибут модели зависел от другого атрибута? В моем случае есть атрибут has_translator
в модели Job
. Я хочу, чтобы этот атрибут был True
тогда и только тогда, когда translator
не Null
.Атрибут модели, основанный на другом атрибуте
Я рассматривал вопрос об переопределении метода save
класса Job
или создания нового свойства метода has_translator
, который, вероятно, не самый лучший способ.
Существует an answer говорить о переопределение метода save
, но я не знаю, почему звонит super
в этом случае, так что я не уверен, если я должен использовать его.
class Job(models.Model):
customer = models.ForeignKey(User, related_name='customer')
translator = models.ForeignKey(User, related_name='freelancer',null=True)
description = models.TextField()
language_tuple = models.ForeignKey(LanguageTuple,related_name='language_tuple')
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
is_active = models.BooleanField(default=False)
has_translator = # If translator is not None/Null, then True else False
Вам действительно нужно поле, хранящееся в db для этого? Почему не просто свойство модели? –
Метод 'super' называется in-to, чтобы сделать все остальное. И обратите внимание, что' self.subject_init = self.subject_initials() 'на ссылке должен модифицировать self obj. Это модифицированное «я» передается супер-методу. –