The*_*Phi 0 django foreign-keys django-models
我有2个模型(例如)。
class A(models.Model):
name = models.CharField()
class B(models.Model):
a = models.ForeignKey(A)
my_name = models.CharField()
Run Code Online (Sandbox Code Playgroud)
因此,我想创建(和更新)my_nameB实例的字段name,以及它所关联的A实例的字段(一对多关系)。
我试过了:
class B(models.Model):
....
def __init__(self, *args, **kwargs):
self.my_name = self.a.name
Run Code Online (Sandbox Code Playgroud)
但是我有错误:
AttributeError
Exception Value:
'B' object has no attribute 'a_id'
Run Code Online (Sandbox Code Playgroud)
我认为这与Django _id为外键字段添加一个有关,因此我尝试了:
class B(models.Model):
a = models.ForeignKey(A, db_column="a")
...
Run Code Online (Sandbox Code Playgroud)
但是我有同样的错误。
我是Django的新手。谢谢!
尝试覆盖模型save上的方法B:
class B(models.Model):
a = models.ForeignKey(A)
my_name = models.CharField()
def save(self, *args, **kwargs):
self.my_name = self.a.name
super(B, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)