gpt4 book ai didi

python - Django 在模型内调用另一个模型的 upload_to

转载 作者:行者123 更新时间:2023-12-01 02:51:40 27 4
gpt4 key购买 nike

假设我们有两个模型:AB。模型 A 有一个 upload_to 路径,在其中,我还想在同一路径上保存模型 B 中的字段。这就是我想做的:

def random_path(instance, filename):
#creating random path each time it's called

class A(models.Model):
imageA = models.ImageField(upload_to=random_path) # Randomly generated path
def create_documentfiles(self):
imageB = # Image
saveImageB = DocumentImage(imagefile=imageB)
saveImageB.imagefile.upload_to = # Should be same path as imageA
saveImageB.save()

class B(models.Model):
imagefile = models.ImageField()

我可以在 B 模型中定义 upload_to=random_path,但它会给我一条不同的路径。因此,我希望在模型 A 中定义模型 Bupload_to 。不确定这是否可能。 Django 文档没有提到任何与我所要求的类似的内容。

最佳答案

这非常简单。为此,请使用 _meta。您可以使用 get_field 方法来获取模型的字段,例如您的案例中的 imageA 。然后使用对象符号访问该字段的任何属性。

upload_to_attr = ModelName._meta.get_field('foo').upload_to

更通用:

attr_value = ModelName._meta.get_field('foo').attr_name

关于python - Django 在模型内调用另一个模型的 upload_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44694615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com