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
Django-如何访问ForeignKey父项';s属性?_Django_Django Models - Fatal编程技术网

Django-如何访问ForeignKey父项';s属性?

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

我是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_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)