【发布时间】:2014-01-24 12:32:31
【问题描述】:
我有一个数据库表:
url_id( INT(11) ) | monitor_id( (INT(11) )
--------------------+--------------------------
1 | 1
1 | 2
1 | 3
2 | 2
等等。 url_id 和 monitor_id 字段都不是唯一的,更重要的是,它们是其他表(表 urls 和表 monitors)的外键。所以我不能改变数据库结构。在我的 Django 模型文件中,我为此表创建了一个模型类:
class MonitorForUrl(models.Model):
url = models.ForeignKey(Url, primary_key=True)
monitor = models.ForeignKey(Monitor)
class Meta:
db_table = 'monitors_for_url'
我将primary_key 参数设置为true,因为如果我不设置自己的主键字段,Django 会为主键创建默认的*model_name*_id 字段。 DB中没有这样的字段,所以我将primary_key设置为true。通过这种方式,我无法创建一些具有相似 url_id 值的行,因为它是主键。我可以告诉 Django 在不设置 primary_key 选项的情况下不要创建默认主键字段,或者您可以建议我一些其他方法来解决我的问题吗?
【问题讨论】: