【问题标题】:How do I get clean data from foreign-key model's field in django?如何从 django 的外键模型字段中获取干净的数据?
【发布时间】:2022-01-26 16:13:13
【问题描述】:

我有两个模型

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 字段中获取干净的数据?

【问题讨论】:

    标签: python django model


    【解决方案1】:

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

    class reed(models.Model):
        ten = models.ForeignKey(Tennx, on_delete=models.CASCADE)
    
        @property
        def tennxname(self):
            return self.ten.this_a

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

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

    【讨论】:

    • 对不起,我应该提到这一点,我已经尝试过了,但我需要 ff = models.FileField(upload_to=f'media/tfiles/{tennxname}',null=True) 的数据,但我获取 OSError > ...\\media\\tfiles\\' 当我尝试上传文件时
    • @NabinPaudel:那么您应该使用 callabe,请参阅编辑
    猜你喜欢
    • 1970-01-01
    • 2020-06-30
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2011-07-31
    • 2020-10-20
    • 2011-02-04
    相关资源
    最近更新 更多