【发布时间】:2011-03-03 08:23:41
【问题描述】:
抱歉,这个问题可能很简单,但我是 Django 的新手,真的很困惑。
我有一个丑陋的旧表,我无法更改。
它有 2 个表:
class Salespersons(models.Model):
id = models.IntegerField(unique=True, primary_key=True)
xsin = models.IntegerField()
name = models.CharField(max_length=200)
surname = models.CharField(max_length=200)
class Store(models.Model):
id = models.IntegerField(unique=True, primary_key=True)
xsin = models.IntegerField()
brand = models.CharField(max_length=200)
所以我想我不能在类定义中添加外键,因为它们会更改表。
我需要执行这样的sql请求:
SELECT * FROM Salespersons, Store INNER JOIN Store ON (Salespersons.xsin = Store.xsin);
如何使用 Django ORM 实现它?
或者我可以分别获得 Salespersons 和 Store,即
stores = Store.objects.filter(xsin = 1000)
salespersons = Salespersons.objects.filter(xsin = 1000)
【问题讨论】:
-
这取决于您到底要检索什么。
xsin是什么意思?它是否“指向”第三张桌子? -
xsin 是用于连接某些表的字段。是的,可以用来加入第三张表。
标签: python django django-models