Django:填充模型';使用另一个模型的值创建字段(在初始化和保存时)
我有两个模型(例如) 因此,我想创建(并更新)B实例的字段Django:填充模型';使用另一个模型的值创建字段(在初始化和保存时),django,django-models,foreign-keys,Django,Django Models,Foreign Keys,我有两个模型(例如) 因此,我想创建(并更新)B实例的字段my_name,其中包含与其相关的A实例的字段name(一对多关系) 我试过: class B(models.Model): .... def __init__(self, *args, **kwargs): self.my_name = self.a.name 但我有一个错误: AttributeError Exception Value: 'B' object has no attribute
my_name
,其中包含与其相关的A实例的字段name
(一对多关系)
我试过:
class B(models.Model):
....
def __init__(self, *args, **kwargs):
self.my_name = self.a.name
但我有一个错误:
AttributeError
Exception Value:
'B' object has no attribute 'a_id'
我认为这与Django为外键字段添加一个\u id
有关,所以我尝试了:
class B(models.Model):
a = models.ForeignKey(A, db_column="a")
...
但我也有同样的错误
我对Django很陌生。谢谢 尝试覆盖您的
B
型号上的save
方法:
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)
尝试覆盖
B
型号上的save
方法:
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)
在这种情况下,您如何看待使用预存信号?在这种情况下,您如何看待使用预存信号?