我没有那么伟大的数据库,很抱歉,如果我不描述这个很好...Django的多对多递归关系
我有其描述algorithim目录中的现有Oracle数据库。 有两个表algorithims和xref_alg。
算法可以有父母和子女算法。 Alg_Xref包含这两个外键的关系 - xref_alg和xref_parent。
这些都是Django模型我有这么远inspectdb命令
class Algorithms(models.Model):
alg_id = models.AutoField(primary_key=True)
alg_name = models.CharField(max_length=100, blank=True)
alg_description = models.CharField(max_length=1000, blank=True)
alg_tags = models.CharField(max_length=100, blank=True)
alg_status = models.CharField(max_length=1, blank=True)
...
class Meta:
db_table = u'algorithms'
class AlgXref(models.Model):
xref_alg = models.ForeignKey(Algorithms, related_name='algxref_alg' ,null=True, blank=True)
xref_parent = models.ForeignKey(Algorithms, related_name='algxref_parent', null=True, blank=True)
class Meta:
db_table = u'alg_xref'
在试图查询AlgXref我遇到这样的:
DatabaseError: ORA-00904: "ALG_XREF"."ID": invalid identifier
所以错误似乎是,它看起来一个主键ID不在表中..我可以创建一个,但似乎有点无意义。无论如何要解决这个问题吗?或者改变我的模型?
编辑:所以经过一番搜索似乎Django需要一个模型有一个主键。生命太短,所以刚刚添加了主键。这会对性能产生什么影响吗?