Hzm*_*zmy 5 python django many-to-many
我有一个基本的Django应用,其中用户(django的身份验证内置模型)和报告之间具有多对多关系。
Django不会创建相应的表来处理这种关系。我的应用程序称为reports。尝试创建report并为其分配用户时,管理系统中存在错误。它尝试查询该表reports_report_users,但由于该表不存在而失败。
from django.db import models
from django.contrib.auth.models import User
class Report(models.Model):
name = models.CharField(max_length=30, blank=False)
users = models.ManyToManyField(User, related_name='reports')
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
manage.py syncdb约300倍-好吧,只有一次,但没有任何错误,并在检查的SQLite数据库有没有额外的表创建:(您似乎在第一次同步后添加到了报告模型中。因此,您正在处理迁移,而 django 本身并不这样做。
首先,检查 sql 输出,确保存在多对多关系的创建表指令。
python manage.py sqlall
Run Code Online (Sandbox Code Playgroud)
假设问题是这是一个迁移,django 本身无法处理,您有三个选择:1)删除此应用程序的所有数据库表,然后再次运行syncdb。2) 手动创建表(从 sqlall 命令复制粘贴创建 sql 相当容易) 3) 开始使用像 South 这样的迁移框架。
从长远来看,你会欣赏对南方学习的投资。短期来看,删除DB文件是最快的。-