我正在为Django管理员设置:
model.py
class Types(models.Model):
types = models.CharField(max_length=60)
def __str__(self):
return self.type
class File(models.Model):
file_name = models.CharField(max_length=60)
type = models.ForeignKey(Types)
def __str__(self):
return self.file_name
class Set(models.Model):
set_name = models.CharField(default='New Set', max_length=60)
data = models.DateTimeField('Date of creation')
file = models.ForeignKey(File)
size = models.IntegerField(default=0)
def __str__(self):
return ("%s - %s" % (self.set_name, str(self.data)))
class Meta:
ordering = ["data"]
在admin.py
class FileInline(admin.StackedInline):
model = File
extra = 2
class SetAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields':['set_name']}),
(None, {'fields':['data']}),
(None, {'fields':['size']}),
]
inlines = [FileInline]
admin.site.register(Set, SetAdmin)
对此,我得到了以下错误:
(admin. E202)“磁盘。文件”没有“磁盘。设置”的外键
根据https://docs . django project . com/en/dev/ref/models/fields/# django . db . models . foreign key中的文档,它应该可以工作。
我做了一些测试:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#working-有一个模型,有两个或更多的在位键,但没有成功。反转类,从Set生成带有ForeignKey的文件也不起作用。
从 Django 教程中,我已经设法让关系正常工作,但我在复制它时陷入了困境。
我检查了以下帖子上的建议:Django admin中的Inline:没有ForeignKey和Django-Inline(没有ForeingKey to),但我不知道是什么问题。
我使用的是Python 2.7.6,Django 1.8.4,MySQL 5.6和Ubuntu 14.04。
我真的很感激任何建议!
修剪您的代码问题是这样的-在您的模型中,您会说:
一个Set
有一个File
,一个File
有很多Set
s
但是您的管理文件显示:
集合
可以有许多File
s
这是两个相互矛盾的陈述。您需要使它们匹配:
修复您的模型:
class File(models.Model):
# Add the below line
file = models.ForeignKey(Set)
class Set(models.Model):
# Delete this line
# file = models.ForeignKey(File)
或者修复你的管理员-这是一次彻底的改写,以上内容似乎是你想要的。
我必须定义code.Spatial类,如主键和codels.LScharacteristic codels.PlannedUsing,如外键。当我尝试migrate:ProgrammingError:ERROR:foreign key约束中指定的id列不存在时,我遇到了这个问题。 UPD完整日志:上述异常是以下异常的直接原因: 回溯(最后一次调用):文件“manage.py”,第23行,从命令行执
这是我的用户。JAVA 这是我的地址。JAVA 但是当我试图持久化对象时,我得到了这个异常 错误不会来,如果我删除"NOTNULL"约束从FORIGN_KEY"USER_ID",但我需要使它作为一个NOTNULL列我应该怎么做。 这是我的注册方法 这是我的SQL脚本
问题内容: 我看着其他问题,无法解决… 我做了以下安装django-debug-toolbar的操作: pip安装django-debug-toolbar 添加到中间件类: 3添加了INTERNAL_IPS: INTERNAL_IPS =(‘174.121.34.187’,) 4将debug_toolbar添加到已安装的应用程序 我没有收到任何错误或任何内容,并且该工具栏也没有显示在任何页面上,甚
问题内容: 是否可以在不使用JPA在数据库中创建外键的情况下建立ManyToOne关联? 这些表由另一个系统拥有,并异步填充。因此,数据库中不能有FK。几乎总是,最终还是有联系。 问题是,即使ConstraintMode.NO_CONSTRAINT,JPA SchemaUpdate也会尝试添加FK。 [错误] ohthSchemaUpdate-无法添加外键约束 如果它没有使其余语句失败,我们可以忽
创建两个表: 课程(Course_id(主键),Course_name) Student(Roll_no(主键),Name,Course_id(外键))并检索“BSC”课程录取的所有学生的姓名。 设BSC的course_id为105。 其查询将是:从Student中选择Name(其中Course_id=105) 在不知道Course_id(仅使用Course_name)的情况下,我可以查询学生的姓
问题内容: 一般来说,我对Web应用程序和数据库内容还是陌生的,所以这可能是一个愚蠢的问题。我想制作一个模型(“ CategoryModel”),其字段指向模型的另一个实例(其父实例)的主要ID。 我该怎么做呢?谢谢! 问题答案: 您可以将模型的名称作为字符串传递给ForeignKey,它将做正确的事情。 所以: 或者您可以使用字符串“ self”