Python Django调用另一个模型';s将_上传到模型内部

Python Django调用另一个模型';s将_上传到模型内部,python,django,Python,Django,假设我们有两个模型,A和B。模型A有一个upload\u路径,在它里面,我还想在同一路径上保存模型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 p

假设我们有两个模型,AB。模型A有一个
upload\u路径,在它里面,我还想在同一路径上保存模型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\u to=random\u path
,但它会给我一个不同的路径。因此,我希望在modelA中定义modelB
upload_to
。甚至不确定这是否可能。Django文档没有提到任何类似于我所问的内容。

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

upload_to_attr = ModelName._meta.get_field('foo').upload_to
更通用:

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

很抱歉,但是
getupload=A.。\u meta.get\u字段(imageA.upload\u to
在B模型中给我一个“'A'没有'\u meta'成员”错误。有什么额外的步骤可以让它工作吗?你使用的是哪个版本的django?参数imageA将用引号括起来。我使用的是最新版本。imageA在我的代码中有引号,我忘了包括它们。如果它在
model.py中,我是否应该导入它?好的,这是我的VS代码中的一个linting错误。它运行正常。