【发布时间】:2019-05-08 06:58:52
【问题描述】:
我是 Django 新手,正在尝试制作一个教育应用程序。我有一个模型层次结构为主题>级别>章节>主题>文章
我想在某个主题的特定级别的特定章节中添加有关特定主题的文章?如何打开特定 ForeignKey 的子项?例如。我想要这是管理面板,如果我点击一个主题,我会得到儿童级别,然后是儿童章节等等......
models.py
from django.db import models
class Subject(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Level(models.Model):
name = models.CharField(max_length=50)
subject = models.ForeignKey(Subject, default=1, null=True, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Chapter(models.Model):
name = models.CharField(max_length=50)
level = models.ForeignKey(Level, default=1, null=True, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Topic(models.Model):
name = models.TextField(max_length=50)
chapter = models.ForeignKey(Chapter, default=1, null=True, on_delete=models.CASCADE
def __str__(self):
return self.name
class Article(models.Model):
title = models.CharField(max_length=50)
body = models.TextField()
topic = models.ForeignKey(Topic, default=1, null=True, on_delete=models.CASCADE)
def __str__(self):
return self.title
admin.py
from django.contrib import admin
from .models import Level, Subject, Article, Chapter, Topic
admin.site.register(Level)
admin.site.register(Subject)
admin.site.register(Article)
admin.site.register(Chapter)
admin.site.register(Topic)
【问题讨论】:
-
您将需要使用嵌套内联:请参阅此答案stackoverflow.com/questions/3681258/…
-
谢谢,但它让事情变得更复杂..
-
使用它并不复杂。尝试习惯在 django 中实现第三方模块 - 它会让你的生活更轻松。