我如何获得 Django 模型中 ManyToMany 字段中的所有 objects
How do i get all the objects which is in ManyToMany field in Django models
我有两个模型,在第二个模型中,我创建了一个 ManyToMany 字段
class Listing(models.Model):
title = models.CharField(max_length=50)
name = models.CharField(max_length=100)
description = models.TextField()
starting_bid = models.IntegerField()
category = models.CharField(max_length=50, blank=True)
image = models.TextField(blank=True)
posted_by = models.ForeignKey(User, on_delete=models.CASCADE)
active = models.BooleanField(default=True)
def __str__(self):
return self.title
class Catagories(models.Model):
category = models.CharField(max_length=100)
listings = models.ManyToManyField(Listing, blank=True, related_name="cat")
现在假设我已经创建了“电子产品”类别,并且在该类别中保存了 3 个标题为“移动设备、笔记本电脑、微波炉”的列表。
现在我想获取此类别中的所有列表,但我没有获取。
现在的问题是:
如何获取该类别中的所有列表项?
您可以过滤:
my_category<strong>.listings.all()</strong>
因此我们有一个名为 mycat
的 Category
,我们可以检索那个 Category
的 Listing
。
如果您只有类别名称,您可以使用:
Listing.objects.filter(<strong>cat__category='my category name'</strong>)
我有两个模型,在第二个模型中,我创建了一个 ManyToMany 字段
class Listing(models.Model):
title = models.CharField(max_length=50)
name = models.CharField(max_length=100)
description = models.TextField()
starting_bid = models.IntegerField()
category = models.CharField(max_length=50, blank=True)
image = models.TextField(blank=True)
posted_by = models.ForeignKey(User, on_delete=models.CASCADE)
active = models.BooleanField(default=True)
def __str__(self):
return self.title
class Catagories(models.Model):
category = models.CharField(max_length=100)
listings = models.ManyToManyField(Listing, blank=True, related_name="cat")
现在假设我已经创建了“电子产品”类别,并且在该类别中保存了 3 个标题为“移动设备、笔记本电脑、微波炉”的列表。
现在我想获取此类别中的所有列表,但我没有获取。
现在的问题是:
如何获取该类别中的所有列表项?
您可以过滤:
my_category<strong>.listings.all()</strong>
因此我们有一个名为 mycat
的 Category
,我们可以检索那个 Category
的 Listing
。
如果您只有类别名称,您可以使用:
Listing.objects.filter(<strong>cat__category='my category name'</strong>)