已知主题id,获得主题下所有条目用条目的小写_set
model.py
from django.db import models
# Create your models here.
class Topic(models.Model):
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.text
class Entry(models.Model):
#具体到某个主题的条目
#用外键一个主题有很多条目
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)#on_delete=models.CASCADE级联删除。
title = models.CharField(max_length=200)
text = models.TextField(max_length=800)
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = 'entries'
ordering = ['date_added']
def __str__(self):
return self.title[:50] + '.......'
view.py
def entries(request, topic_id):
# 获取数据
topic = Topic.objects.get(id=topic_id)
entries = topic.entry_set.order_by('-date_added')
##处理数据
content = {'topic': topic, 'entries': entries}
# 返回响应结果
return render(request, 'entries.html', context=content)
本文深入探讨了使用 Django 的 ORM 功能进行数据操作的方法,特别是针对主题与条目模型的设计与查询。通过实例展示了如何创建主题模型,并在该主题下关联多个条目,以及如何按时间顺序获取特定主题的所有条目。
9462

被折叠的 条评论
为什么被折叠?



