如何从 Django 中的外键模型字段中获取干净的数据?

How do I get clean data from foreign-key model's field in django?

我有两个模型

class Tennx(models.Model):
    this_a = models.CharField(max_length=100)

class reed(models.Model):
    ten = models.ForeignKey(Tennx)
    tennxname = #get data from this_a 

如何从 Tennx 模型的 this_a 字段中获取干净的数据?

您可以定义一个 属性 来获取相关 tenthis_a:

class reed(models.Model):
    ten = models.ForeignKey(Tennx, on_delete=models.CASCADE)

    <strong>@property</strong>
    def <strong>tennxname</strong>(self):
        return self.ten.this_a

如果你创建一个函数来确定文件名,你也可以使用它:

class reed(models.Model):
    ten = models.ForeignKey(Tennx, on_delete=models.CASCADE)
    
    def <strong>file_name_path</strong>(self, filename):
        return f'files/{<strong>self.ten.this_a</strong>}/{filename}'
    ff = models.FileField(<strong>upload_to=file_name_path</strong>, null=True)