1 平常查找表中数据的条件是python中已有的数据类型,通过点运算符可以直接查找。如果条件是表中外键列所对应表的某一列,该如何查询数据?比如
class News(models.Model): title = models.CharField(max_length=50); summary = models.TextField(); url = models.CharField(max_length=150); favorCount = models.IntegerField(default=0); favorUsername = models.TextField(default=""); replyCount = models.IntegerField(default=0); class Reply(models.Model): content = models.TextField(); user = models.ForeignKey(‘User‘); newID = models.ForeignKey(‘News‘); replyTime = models.DateTimeField(auto_now_add=True); def __unicode__(self): return self.content;
像这样的数据表,想要查找对于博客id是3的所有回复?
方法一、首先获得外键指向的表中对象,然后通过‘_set’这样的方法获得目标表中的数据。
obj = models.News.objects.get(id=3) replys = obj.reply_set.all()
方法二、直接在目标表中通过双下划线来指定外键对应表中的域来查找符合条件的对象。
models.Reply.objects.filter(newID__id=3)
时间: 2024-10-21 03:13:57