如何避免在Django模型上创建外键?

时间:2011-09-26 13:32:36

标签: python mysql django foreign-keys

当我创建一个具有外键关系的模型时,如下所示:

class Post(models.Model):
    title = models.CharField(max_length=250)
    date_created = models.DateTimeField(auto_now=False, auto_now_add=True)
    owner = models.ForeignKey(User)

当我执行syncdb将这些模型转储到数据库时,它会创建表post和表user的外键。如何避免在MySQL中创建该外键。我出于不同的原因讨厌外键。

谢谢!

修改

请大家,不要回答:“你应该使用外键”。那不是我要问的。我有理由不使用它们。

1 个答案:

答案 0 :(得分:2)

请不要。外键是正确的,你永远不应该阻止数据库保护自己的一致性。如果您需要对表执行特殊操作(并确保不破坏其完整性),您可以暂时禁用检查:

SET foreign_key_checks = 0
# do something
SET foreign_key_checks = 1