我正在尝试创建一个django查询,返回post_type“mobiles”的帖子

时间:2017-06-22 09:33:24

标签: django django-queryset web-deployment

class Entry(models.Model):
     title = models.CharField(max_length=200)
     post_type = models.CharField(max_length=50, default="others")
     author = models.CharField(max_length=30, default = "")
     body = models.TextField()
     slug = models.SlugField(max_length = 200, unique = True)
     publish = models.BooleanField(default=True)
     created = models.DateTimeField(auto_now_add=True)
     modified = models.DateTimeField(auto_now_add=True)

     objects = EntryQuerySet.as_manager()

     def __str__(self):
        return self.title

     class Meta:
         verbose_name = "Blog Entry"
         verbose_name_plural = "Blog Entries"
         ordering = ["-created"]

以上代码是我的models.py

class MobilesIndex(generic.ListView):
    queryset = models.Entry.objects.get(post_type="Mobile")
    template_name = "index.html"
    paginate_by = 5

def Mobiles(request):
    context = locals()
    template = "Mobiles.html"
    return render(request,template,context)

上面的代码是view.py

如何编写仅包含post_type =“Mobile”

帖子的查询

2 个答案:

答案 0 :(得分:1)

尝试:

Entry.objects.fitler(post_type="Mobile")

get()返回ONE对象或exeception(如果不存在/多个对象),但filter()返回所有对象(如果没有对象则返回None)。

答案 1 :(得分:0)

queryset = models.Entry.objects.filter(post_type="Mobile")

这将为您提供所有帖子类型,并在模板中呈现您需要循环它