我有一个模型'测试',其中我有2个外键
class Test(models.Model):
id =models.Autofield(primary_key=True)
name=models.ForeignKey(model2)
login=models.ForeignKey(model1)
status=models.CharField(max_length=200)
class model1(models.Model):
id=models.CharField(primary_key=True)
.
.
is_active=models.IntergerField()
class model2(model.Model):
id=models.ForeignKey(model1)
.
.
status=model.CharField(max_length=200)
当我在模型'Test'中添加对象时,如果我选择某个登录,那么只有与该对象相关的对象(model2)应该显示在字段'name'中。如何才能实现这一点。这将是运行时,就像运行时一样我更改登录字段值,名称中的对象也应该更改。
答案 0 :(得分:1)
覆盖类 Test 的save方法。 因此,您可以根据登录名将 name 设置为您想要的。
class Test(models.Model):
.
.
def save(self, force_insert=False, force_update=False):
self.name = self.login.model_set()[0] # or what ever you want
super(Test, self).save(force_insert, force_update)