我有Django的表像下面的(我已经删除非必要的字段):查询整个数据库表
class Person(models.Model):
nameidx = models.IntegerField(primary_key=True)
name = models.CharField(max_length=300, verbose_name="Name")
class Owner(models.Model):
id = models.IntegerField(primary_key=True)
nameidx = models.IntegerField(null=True, blank=True) # is Person.nameidx
structidx = models.IntegerField() # is PlaceRef.structidx
class PlaceRef(models.Model):
id = models.IntegerField(primary_key=True)
structidx = models.IntegerField() # used for many things and not equivalent to placeidx
placeidx = models.IntegerField(null=True, blank=True) # is Place.placeidx
class Place(models.Model):
placeidx = models.IntegerField(primary_key=True)
county = models.CharField(max_length=36, null=True, blank=True)
name = models.CharField(max_length=300)
我的问题如下。如果在我的views.py文件中,我有一个由名称引用的Person,并且我想查找它们拥有的所有地方作为QuerySet,我该怎么办?
我能多远这样的:
person = Person.objects.get(name=name)
owned_relations = Owner.objects.filter(nameidx=nameidx)
我如何从这里到什么地方呢?我应该使用数据库方法吗?
我也不确定我是否应该使用ForeignKey来处理Owner.nameidx。
非常感谢这位非常基本的问题并对此表示歉意。我不知道如何学习数据库查询的基础知识,除了通过尝试,失败,问,就重新尝试... :)
感谢您的明确解释 - 这将让生活更轻松:) – AP257 2010-10-17 10:59:35