Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中获得同一模型中与外键相关的主键(pk)?_Python_Django_Primary Key - Fatal编程技术网

Python 如何在django中获得同一模型中与外键相关的主键(pk)?

Python 如何在django中获得同一模型中与外键相关的主键(pk)?,python,django,primary-key,Python,Django,Primary Key,我需要获取相关model.foreignKey对象的id(pk),以便设置同一模型的model.FileField的“upload_to”属性 大概是这样的: class myClass(models.Model): related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE) file = models.FileField(upload_to=str(related_model.id)+"/")

我需要获取相关model.foreignKey对象的id(pk),以便设置同一模型的model.FileField的“upload_to”属性

大概是这样的:

class myClass(models.Model):
    related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE)
    file = models.FileField(upload_to=str(related_model.id)+"/")
因此,例如,如果相关的_模型具有主键10,则上传到attr的_必须为“10/”

创建对象时,可能需要或必须在view.py文件中设置该值?

使用a作为
upload\u to
参数

def related_path(instance, filename):
    return '{}/{}'.format(instance.related_model_id, filename)

class myClass(models.Model):
    related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE)
    file = models.FileField(upload_to=related_path)
使用a作为参数
upload_to

def related_path(instance, filename):
    return '{}/{}'.format(instance.related_model_id, filename)

class myClass(models.Model):
    related_model = models.ForeignKey(RelatedModel,on_delete=models.CASCADE)
    file = models.FileField(upload_to=related_path)