请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,关于模型类问题

老师,又来麻烦您了。我现在有数据库,里面有数据。我现在改用django来实现一个web后端。问题是我现在数据库表和数据都存在了,怎么才能将数据库表反向生成模型类。网上的我找过了,是实现了,但是当我去访问路由的时候提醒我django.db.utils.OperationalError: (1267, “Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’”)。这个原因我也查过,说是编码不对,我去数据库也修改成了utf8,但还是报错。我现在彻底懵了。然后我重新创建数据库,想通过迁移方式生成表,给我的一直报ValueError: Related model ‘users.user’ cannot be resolved这个错误。我现在完全不知道是什么情况了。

正在回答 回答被采纳积分+3

1回答

咚咚呛 2019-04-09 21:59:35

先总结一下你的问题,你的目的将已有数据库表和数据迁移到django所实现的服务里面,但是在操作的过程出现了问题。

然后你尝试了两种方法,第一种是通过数据库表反向生成模型类。

第二个方法是重新创建数据库,在通过迁移的方式生成表。

对于第一种方法,从数据库表反向生成模型类,Django应该是没有提供相关工具的,是网上由其他人提供的代码吗?可以贴出来一起研究一下。

对于第二种方法,可以详细描述一下数据库的表和依赖关系和你迁移的过程不?

最后,一般针对有数据的数据库迁移,通常需要考虑原来数据库中的依赖关系,然后通过数据先后顺序的迁移来解决依赖关系的问题。这里的复杂度视依赖关系的复杂度而定。


0 回复 有任何疑惑可以回复我~
  • 提问者 我是三木 #1
    如果不能反向生成model,那怎么才能使用原来的数据库和数据呢?是不是我先按之前的表结构迁移,再去导入数据才能生成嘛?
    回复 有任何疑惑可以回复我~ 2019-04-10 01:47:13
  • 咚咚呛 回复 提问者 我是三木 #2
    是的,先生成相应的模型然后再迁移,在迁移过程中要特别注意依赖关系,比如外键。
    举个例子,如A表依赖B表,即B表数据是A表的外键,那么在迁移的过程则需要先迁B表的数据然后才是A表。
    回复 有任何疑惑可以回复我~ 2019-04-10 08:11:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信