如何获取“animal”对象的类别名称?

2024-04-26 18:37:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在学日语。你知道吗

class AnimalFile(models.Model):
    filepath = models.FileField(upload_to="f")

class Food(models.Model):
    main = models.ForeignKey(AnimalFile)

class Category(models.Model):
    name = models.CharField(max_length=255)
    food = models.ForeignKey(Food)

视图:

def single_animal(request,id):
    animal = AniamalFile.objects.get(id=id)

如何获取animal对象的类别名称?我需要在模板显示它也。你知道吗


Tags: tonameidmodelfoodmainmodelsclass
1条回答
网友
1楼 · 发布于 2024-04-26 18:37:57

在视图中,可以执行以下操作:

def single_animal(request,id):
    animal = AniamalFile.objects.get(id=id)

    animal_category=None
    categories = Category.objects.filter(food__main=animal)
    if categories:
        animal_category = categories[0]

您可以将其作为上下文变量传递,并作为{{animal_category}}访问它

或者,如果要显示所有类别,只需在上下文和模板中发送categories

{% for cat in categories %}{{cat.name}} {% endfor %}

或者

def single_animal(request,id):
    animal = AniamalFile.objects.get(id=id)

    animal_category=None
    foodset = animal.food_set.all()

    categories = Category.objects.filter(food__in=foodset)

相关问题 更多 >