我有一个基本的Django应用程序,其中用户(django的模型中内置的身份验证)和报告具有多对多的关系.
问题
Django没有创建相应的表来处理这种关系.我的应用程序称为报告.在尝试创建报告并为其分配用户时,管理系统中存在错误.它尝试查询表reports_report_users,但由于它不存在而失败.
models.py代码
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
试图解决方案
>使用此链接作为参考:https://docs.djangoproject.com/en/1.4/topics/db/examples/many_to_many/
>运行manage.py syncdb大约300次 – 确定,只有一次,但没有错误,并且在检查sqlite数据库时没有创建其他表:(
首先,检查sql输出,确保存在多对多关系的create table指令.
python manage.py sqlall
假设问题是这是一个迁移,django本身不处理,你有三个选择:
1)删除此应用程序的所有数据库表,然后再次运行syncdb.
2)手动创建表(相当容易从sqlall命令复制粘贴create sql)
3)开始使用像South这样的迁移框架.
从长远来看,你会欣赏南方学习的投资.在短期内,删除DB文件是最快的.-
总结以上是内存溢出为你收集整理的python – Django内置“用户”模型的多对多关系全部内容,希望文章能够帮你解决python – Django内置“用户”模型的多对多关系所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)