ric*_*ich 8 django many-to-many field
我有一个模型(用户和书籍)的现有项目.我想在现有模型Books中添加ManyToMany(M2M)字段,但syncbb命令不会这样做.
详细信息:图书已经有一个映射到用户的FK字段,我想添加一个也映射到用户的新M2M字段(阅读器).如你所知,Django的syncdb只关心表,所以添加一个普通字段很容易,但是M2M需要一个新的连接表(app_books_user),所以不应该像任何其他新表那样使用syncdb cmd添加它吗?它为Book的'卖家'领域创建了我的另一个联合表.
当我运行syncdb时,我最初收到一条错误,指示我使用'related_name'参数来帮助区分对User的两个引用.我加了那些.但是,当我再次运行syncdb时,它不会创建新的连接表(但它现在没有错误).当我通过Shell查看它时存在新字段,但是不能使用它b/c连接表不存在.我通过'sqlall'cmd查看了sql代码,它打印出新表的SQL,但它没有被执行.
我错过了什么?我应该通过我的数据库浏览器强制SQL(来自sqlall)吗?这有什么影响吗?代码如下:
Models.py
from django.contrib.auth.models import User
class Seller(models.Model):
...
class Books(models.Model):
name=models.CharField(max_length=50)
author=models.ForeignKey(User, related_name='creator')
readers=models.ManyToManyField(User, blank=True, related_name='viewers')
sellers=models.ManyToManyField(Seller)
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
2645 次 |
| 最近记录: |