Django-如何访问ForeignKey父项';s属性?
我是Django的新手,我不知道该怎么做 我有一个“卖家”模型:Django-如何访问ForeignKey父项';s属性?,django,django-models,Django,Django Models,我是Django的新手,我不知道该怎么做 我有一个“卖家”模型: class Seller(models.Model): seller_name = models.CharField(max_length=50) def __str__(self): return self.seller_name 和一个模型“项目”: class Item(models.Model): seller = models.ForeignKey(Seller, on_dele
class Seller(models.Model):
seller_name = models.CharField(max_length=50)
def __str__(self):
return self.seller_name
和一个模型“项目”:
class Item(models.Model):
seller = models.ForeignKey(Seller, on_delete=models.CASCADE)
item_name = models.CharField(max_length=100)
item_category = models.CharField(max_length=100, choices=ALL_CATEGORIES)
item_price = models.FloatField()
item_preview = models.ImageField(upload_to='previews/<the seller's name>')
def __str__(self):
return self.item_name
类项(models.Model):
卖方=型号.ForeignKey(卖方,on_delete=型号.CASCADE)
item_name=models.CharField(最大长度=100)
项目类别=模型.CharField(最大长度=100,选项=所有类别)
item_price=models.FloatField()
item_preview=models.ImageField(上传至\'previews/您可以像这样访问卖家名称
item = Item.objects.get(<condition>)
item.seller.seller_name
如果您使用上传到
您可以像这样访问卖家名称
item = Item.objects.get(<condition>)
item.seller.seller_name
如果您使用上传到
是的,但我如何将ImageField的upload_to参数设置为previews/seller_name?哪个模型包含upload_to?项目模型,如问题描述中所述。是的,现在我知道了。是的,但是我如何将ImageField的upload_to参数设置为previews/seller_name?哪个模型包含upload_to?项目模型,如问题描述中所述问题是,现在我明白了
item_preview = models.ImageField(upload_to=lambda instance: 'previews/{0}'.format(instance.seller.seller_name))
item_preview = models.ImageField(upload_to=upload_file_handler)
def upload_file_handler(instance, filename):
return 'previews/{0}'.format(instance.seller.seller_name)