我正在向现有应用程序添加一个新功能。这项新功能将告知用户如何通过收集徽章获得奖励。应用程序将显示如何获得奖励(我计划使用Django-mptt或Django-treebeard?)).
例如,为了获得奖励A,用户需要收集如下标志:— Award A:
— Emblem AA
— Emblem BB:
— Emblem CC
— Emblem DD
每个标志都是独一无二的。
下面是现有应用程序的模型。
class EmblemClass(models.Model):
user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE, related_name=“emblemclasses”)
name = models.CharField(max_length=255)
image = models.FileField(upload_to=‘images’, blank=True)
description = models.TextField(blank=True, null=True, default=None)
下面是我将要制作的模型:
class AwardInfoClass(models.Model):
user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE, related_name=“awardinfoclasses”)
name = models.CharField(max_length=255)
description = models.TextField(blank=True, null=True, default=None)
class AwardAlignmentClass(models.Model):
awardinfoclass = models.ForeignKey(AwardInfoClass, on_delete=models.CASCADE)
award_name = models.ForeignKey(Emblem, on_delete=models.CASCADE)
award_parent = models.ForeignKey(Emblem, related_name='emblemclasses', blank=True, null=True, on_delete=models.CASCADE)
在Django-mptt的文档中,'award_parent'
被设置为'self'
,而不是来自不同的模型。我使用邻接表来设计树和扩展现有的应用程序。我是不是做错了模型设计?
我尝试过手动使用Django-mptt库。但是,我在编辑孩子和制作视图方面有一个问题。我认为使用现有的库来创建这样一种信息树会更容易。
有什么想法或建议吗?谢谢大家。
1条答案
按热度按时间c90pui9n1#
这个工作会试试吗这个代码是