django - 在具有外键关系的模型中创建对象
问题描述
我想Something model
使用这个在 python manage.py shell 中
创建一个条目Someting.objects.create(discussion_title="General", user_username="admin", content="Hello")
模型示例
class Discussion(models.Model):
title = models.CharField(max_length=255, unique=True, blank=False,)
users = models.ManyToManyField(User, blank=True, )
class Something(models.Model):
user = models.ForeignKey(User,
on_delete=models.CASCADE)
discussion = models.ForeignKey(Discussion, on_delete=models.CASCADE)
timestamp = models.DateTimeField(auto_now_add=True)
content = models.TextField(unique=False, blank=False)
我收到此错误
TypeError: Something() got an unexpected keyword argument 'discussion_title'
解决方案
首先,你必须使用 double under bar__
才能使用 django 的模型关系表达式。
Someting.objects.get(discussion__title="General", user__username="admin", content="Hello")
其次,创建对象时不能使用双下杠关系表达式。
如果你想创建一个相关的对象,你必须一步一步地创建。关注@Nicolas Appriou 的回答
推荐阅读
- sql - 在 Access 2016 中按组计算总百分比
- javascript - 如果不能全部放在一个上,则将一半的单词放到下一行
- apache - Apache中的RewriteRule重写URL不起作用
- javascript - How to populate select option:select dynamically
- postgresql - 通过函数表达式使 Postgresql INDEX 覆盖顺序
- python - 将年龄分类到另一个列年龄组
- c++ - 从 c++ 运行的进程偶尔会错过一个选项
- c# - 在客户端打开电子邮件并使用 HTML 内容填充它
- sql - SQL 查询以获取至少相隔 10 天的不同日期
- variables - 在 GNU Octave 中重命名变量