1

我有一个具有以下字段的模型:

user = models.ForeignKey(User)
impact = models.IntegerField(default = value)

我希望value用户User.get_profile().someIntField与传递给第一个字段的用户对象相同。我怎样才能做到这一点?

4

2 回答 2

3

覆盖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)
于 2012-04-09T10:30:32.187 回答
2
def __init__(self, *args, **kwargs):
    super(YourModel, self).__init__(*args, **kwargs)
    self.impact = self.user.get_profile().someIntField
于 2012-04-09T10:47:59.273 回答