Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Django模型和自动创建的表_Sql_Django_Models - Fatal编程技术网

Sql Django模型和自动创建的表

Sql Django模型和自动创建的表,sql,django,models,Sql,Django,Models,我在我的项目中使用django,除了它的表处理之外,一切都很顺利 对于那些不想进行原始查询并且对添加和删除列不感兴趣的人来说,自动创建的表非常有用。但对我来说,我想完全控制我的数据库 class Partner(models.Model): software = models.ManyToManyField(Software) 这就产生了: 合伙人 合作伙伴软件 处理多个关系的第二个表。 这种行为使我很难观察和理解我的桌子结构。 我认为这让我能够做到: partner = Partne

我在我的项目中使用django,除了它的表处理之外,一切都很顺利

对于那些不想进行原始查询并且对添加和删除列不感兴趣的人来说,自动创建的表非常有用。但对我来说,我想完全控制我的数据库

class Partner(models.Model):
    software = models.ManyToManyField(Software)
这就产生了:

合伙人 合作伙伴软件 处理多个关系的第二个表。 这种行为使我很难观察和理解我的桌子结构。 我认为这让我能够做到:

partner = Partner.objects.get(pk=1)
software = partner.software
如果我不使用很多类似关系,而不是上面的用法

partner = Partner.objects.get(pk=1)
software = Software.objects.get(name = partner.software)

你认为在这种情况下使用这种技术是最好的选择吗?

我使用Django,我可以完全控制我的表。我只是以一种让Django处理CMS和CodeIgniter处理站点的方式来设置它。

你不想听我的答案。尽管我会投票给任何一个能更好地表达的人。关于自动创建的表:Django syncdb只自动生成不存在的表。因此,如果已经存在与模型名称匹配的表,并且其中一方发生了更改,那么开发人员有责任充分地重新同步模型和表。理论上,您可以使用DB表作为主要表示形式,然后在必要时手动调整Django模型以“跟随”该表,这样Django就不会抱怨了。这样做是否明智是有争议的。对于声称想要完全控制你的关系的人来说,你似乎对多对多关系的含义感到非常困惑:它不是一对多关系,aka ForeignKey。我实际上是说控制我的表,我不是django专家,但我认为这些额外的表是为了管理关系而创建的。这些额外的表包含如下信息:1', '1', '1' '2', '2', '2'. 这是不可理解的。在我的示例中,许多字段只是创建类似于表的partner\u partner\u软件,它的内容类似于你是如何管理它的?只是避免使用这些关系?是的,我完全避免。我在MySQL中构建表,然后导入Django。