使用字段名称访问外键字段
access to foreign key fields with fields name
我需要访问具有字符串字段名称的外键字段:
例如:
在 Document model 的 def 中,我需要访问 customer__customer_name [customer model -> customer_name field]
我的代码:
class Customer(LaundryModel, models.Model):
customer_code = models.CharField(max_length=100, unique=True)
customer_name = models.CharField(max_length=100)
class Document(LaundryModel,models.Model):
document_number = models.IntegerField(unique=True)
date = models.DateTimeField(auto_now_add=True)
customer = models.ForeignKey("customer.customer", on_delete=models.PROTECT,
related_name='+')
json_fields=["customer__customer_name", "customer__customer_code"]
def send_email(self):
###### in this place Need access to customer_name and customer_name from customer foreign key ######
我尝试使用 getattr 或 values 或其他但不起作用
模型字段只是一个属性。所以如果你想用字符串获取它,你应该使用 getattr
:
getattr(object, name)
getattr(object, name, default)
我需要访问具有字符串字段名称的外键字段: 例如: 在 Document model 的 def 中,我需要访问 customer__customer_name [customer model -> customer_name field]
我的代码:
class Customer(LaundryModel, models.Model):
customer_code = models.CharField(max_length=100, unique=True)
customer_name = models.CharField(max_length=100)
class Document(LaundryModel,models.Model):
document_number = models.IntegerField(unique=True)
date = models.DateTimeField(auto_now_add=True)
customer = models.ForeignKey("customer.customer", on_delete=models.PROTECT,
related_name='+')
json_fields=["customer__customer_name", "customer__customer_code"]
def send_email(self):
###### in this place Need access to customer_name and customer_name from customer foreign key ######
我尝试使用 getattr 或 values 或其他但不起作用
模型字段只是一个属性。所以如果你想用字符串获取它,你应该使用 getattr
:
getattr(object, name)
getattr(object, name, default)