老师,关于模型类问题

来源:4-4 实现登录功能

我是三木

2019-04-09

老师,又来麻烦您了。我现在有数据库,里面有数据。我现在改用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这个错误。我现在完全不知道是什么情况了。

写回答

1回答

咚咚呛

2019-04-09

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

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

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

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

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

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


0
2
咚咚呛
回复
我是三木
是的,先生成相应的模型然后再迁移,在迁移过程中要特别注意依赖关系,比如外键。 举个例子,如A表依赖B表,即B表数据是A表的外键,那么在迁移的过程则需要先迁B表的数据然后才是A表。
2019-04-10
共2条回复

Django+小程序技术打造微信小程序助手

0到1完整项目实战过程,是难得的Django+小程序全栈项目体验。

991 学习 · 507 问题

查看课程