我正在尝试访问OneToOneField的子项,但出现错误。
class Products(models.Model):
unique_id=models.CharField(max_length=13,unique=True)
product_full_name=models.CharField(max_length=50,null=True)
child_name=models.CharField(max_length=15,null=True)# name of the model connected by OneToOneField in lowercase
def __str__(self):
return str(self.product_full_name)
def selling_price(self):
child=self.child_name
return getattr(self,child+'_set').all().first().selling_price
class Product1(models.Model):
product=models.OneToOneField(Products)
selling_price=models.FloatField()
......
class Product2(models.Model):
product=models.OneToOneField(Products)
selling_price=models.FloatField()
......
class Product3(models.Model):
product=models.OneToOneField(Products)
selling_price=models.FloatField()
......
当我尝试访问get_selling_price()方法时,对于连接到Product1模型的产品模型,出现错误“产品对象没有任何属性product1_set”。
答案 0 :(得分:1)
如果您的孩子的名字是product1,请尝试
return getattr(a,child).selling_price