使用字段名称访问外键字段

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)