django ManyToManyField不能渲染出来

django ManyToManyField不能渲染出来

心舞飞扬 发布于 2021-11-30 字数 1506 浏览 869 回复 1

class UserGroup(models.Model):

    level = models.PositiveIntegerField(verbose_name=u"用户级别", null=False, blank=False, unique=True, db_index=True)

    name = models.CharField(verbose_name=u"显示名称", max_length=32, null=False, blank=False)

    class Meta:

        db_table = "user_level"

        verbose_name = u"用户级别"

        verbose_name_plural = u"用户级别"

class APK(models.Model):
    user_level_set = models.ManyToManyField(UserGroup, related_name="+", verbose_name=u"用户级别", null=False, blank=False)
    min_sys_version_needed = models.CharField(verbose_name=u"依赖系统最低版本", null=True, blank=True, max_length=64, default="")

    class Meta:
        db_table = "apk"
        verbose_name = "第三方APK"
        verbose_name_plural = "第三方APK"

我的model定义如上所示,当mysql中没有apk_user_level_set表时,APKAdmin可以渲染出来,usergroup复选框可以选定,选定之后点保存弹出apk_user_level_set不存在,逻辑上来说,应该APKAdmin页面都打不开直接弹出apk_user_level_set表不存在的错

当我往数据库加入apk_user_level_set表后,user_level_set的复选框可以选中并保存,保存之后重新渲染页面时,复选框一直是没有东西被选中,但数据是保存到了表apk_user_level_set中的

请问有人遇到过这样的问题吗,望指教!!

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巡山小妖精 2021-12-01 1 楼

问题已解决。user_level_set = models.ManyToManyField(UserGroup, related_name="+", verbose_name=u"用户级别", null=False, blank=False)的related_name改成唯一的值就可以了