【发布时间】:2018-12-24 17:58:22
【问题描述】:
我正在为 wiki 应用程序创建一个 django rest api, 目前,我正在考虑创建 3 个模型:
- MainCategory -> Linux 或 Windows
- 每个操作系统的子类别以及类别列表
- 每个子类别的维基内容
我的问题是我不知道如何以正确的方式进行操作,因为我希望对于每个类别,我只会看到依赖的类别,而不是所有类别,而 WikiContent 将看到取决于用户选择的类别。 感谢您的帮助。
class Category(models.Model):
TYPE_CHOICES = (
('Linux', 'Linux'),
('Windows', 'Windows')
)
name = models.CharField(
max_length=10,
choices=TYPE_CHOICES,
default='Linux',
)
def __str__(self):
return self.name
类 SubCategoryLinux(models.Model):
# TYPE_CHOICES_LINUX = (
# ('Installs', 'Installs'),
# ('Sysaid', 'Sysaid'),
# ('DataBase', 'DataBase'),
# ('Docker', 'Docker'),
# ('Devops', 'Devops'),
# ('Linux Hardware', 'Linux Hardware'),
# ('Programming', 'Programming'),
# ('Monitoring', 'Monitoring')
# )
# TYPE_CHOICES_WIN = (
# ('Installs','Installs'),
# ('Sysaid', 'Sysaid')
# )
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='category')
def __str__(self):
return self.name
类内容(models.Model):
title = models.CharField(max_length=255, unique=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='category')
sub_category = models.ForeignKey(SubCategory, on_delete=models.CASCADE, related_name='sub_category')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(null=True)
content = models.TextField(max_length=40000)
def __str__(self):
return self.title
【问题讨论】:
-
这真的很难阅读和理解。请用你的模型写得更清楚
-
@seuling 已编辑 ..
标签: django django-models django-rest-framework