簡體   English   中英

如何在Django的同一模型中獲取與ForeignKey相關的主鍵(pk)?

[英]How to get the foreignKey related primary key (pk) in the same model in django?

我需要獲取相關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)+"/")

因此,例如,如果related_model具有primary_key 10,則upload_to attr必須為“ 10 /”

創建對象時是否可能需要在view.py文件中設置該值?

使用callable作為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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM