gpt4 book ai didi

python - Django 双向 ManyToMany - 如何防止在第二个模型上创建表?

转载 作者:太空狗 更新时间:2023-10-29 17:12:46 33 4
gpt4 key购买 nike

我有两个模型,每个模型都有一个共享的 ManyToMany,使用 db_table 字段。但是,如何防止 syncdb 尝试为第二个模型创建共享表?

class Model1(models.Model):
othermodels = ManyToManyField('Model2', db_table='model1_model2', related_name='model1_model2')

class Model2(models.model):
othermodels = ManyToManyField('Model1', db_table='model1_model2', related_name='model2_model1')

它在我的开发环境中运行良好,因为有些表是在我全部构建时零碎创建的。但是在空数据库中,syncdb 会抛出: _mysql_exceptions.OperationalError: (1050, "表'model1_model2'已经存在")

第二个模型的字段中是否缺少一个标志来防止创建重复表?还是我完全错了?

最佳答案

我还找到了这个解决方案,它非常适合我:

class Test1(models.Model):
tests2 = models.ManyToManyField('Test2', blank=True)

class Test2(models.Model):
tests1 = models.ManyToManyField('Test1', through=Test1.tests2.through, blank=True)

关于python - Django 双向 ManyToMany - 如何防止在第二个模型上创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881578/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com