python – Django双向ManyToMany – 如何防止在第二个模型上创建
发布时间:2020-12-16 23:07:44 所属栏目:Python 来源:网络整理
导读:我有两个模型,每个都有一个共享的ManyToMany,使用db_table字段.但是,如何防止syncdb尝试创建共享表,第二个模型? class Model1(models.Model): othermodels = ManyToManyField('Model2',db_table='model1_model2',related_name='model1_model2')class Model2
我有两个模型,每个都有一个共享的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',related_name='model2_model1') 它在我的开发环境中工作得很好,因为有些表格是零碎地创建出来的,因为我将其全部构建出来.但是从一个空数据库,syncdb throws: 有没有一个标记,我从第二个模型的字段中丢失,以防止重复的表创建?还是我这样做完全错了? 解决方法
我也找到了这个解决方案,这对我来说是完美的:
class Test1(models.Model): tests2 = models.ManyToManyField('Test2',blank=True) class Test2(models.Model): tests1 = models.ManyToManyField('Test1',through=Test1.tests2.through,blank=True) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |