我有一个具有以下字段的模型:
user = models.ForeignKey(User)
impact = models.IntegerField(default = value)
我希望value
用户User.get_profile().someIntField
与传递给第一个字段的用户对象相同。我怎样才能做到这一点?
覆盖save
模型中的方法
class MyModel(models.Model):
user = models.ForeignKey(User)
impact = models.IntegerField()
def save(self, *args, **kwargs):
if not self.pk:
self.impact = self.user.get_profile().someIntField
super(MyModel, self).save(*args, **kwargs)
def __init__(self, *args, **kwargs):
super(YourModel, self).__init__(*args, **kwargs)
self.impact = self.user.get_profile().someIntField