【问题标题】:I use two interconnected ChainedForeignKey fields, but they don't. why?我使用了两个相互连接的 ChainedForeignKey 字段,但它们没有。为什么?
【发布时间】:2020-01-16 23:08:41
【问题描述】:

我的问题: 我有三个模型。 il(省)、ilce(区)和 mahalle(社区)。 我用智能选择过滤。在信息录入方面工作顺利。当我查看数据库时,我看到记录了mahalle(邻里)数据。但是 mahalle(邻居)小部件听起来是空的。

我的模型:

class il(models.Model):
    adi = models.CharField(max_length=20)

class ilce(models.Model):
    ill = models.ForeignKey(il, on_delete=models.CASCADE)
    adi = models.CharField(max_length=35)

class mahalle(models.Model):
    ilcee = models.ForeignKey(ilce, on_delete=models.CASCADE)
    adi = models.CharField(max_length=50)


class User(AbstractUser):
    username = None
    email = models.EmailField(_('email address'), unique=True)
    .......
    kurum_il = models.ForeignKey('il', on_delete=models.SET_NULL, null=True, blank=False)
    kurum_ilce = ChainedForeignKey('ilce', chained_field="kurum_il", chained_model_field="ill", show_all=False, sort=False, null=True, blank=False)
    kurum_mahalle = ChainedForeignKey('mahalle', chained_field="kurum_ilce", chained_model_field='ilcee', show_all=False, sort=False, null=True, blank=False)

即使我输入并保存社区信息,也不会出现在管理页面上 related screenshot

【问题讨论】:

    标签: django django-ajax-selects django-smart-selects


    【解决方案1】:

    Django-smart-selects 在 2018 年的最后一个版本中看起来很久没有维护了。

    但是,很少有人提出/讨论过可能与您的问题相关的问题,其中之一是#237。作为一种解决方案,它具有this Pull Request,对.js 文件几乎没有更改(实际上它只是删除了一行)。

    由于它尚未包含在正式版本中,您可以手动应用这些更改并提供新的.js 文件来覆盖包一:

    • chainedfk.js 从 master 分支复制到您的项目

    • 将它放在你的目录中的“smart-selects/admin/js/chainedfk.js”路径中static files

      • 在您的应用中放置在static 目录中,并使此应用出现在之前 smart_selectsINSTALLED_APPS

      • 或使用相同的static 目录或您偏好的其他路径,但在STATICFILES_DIRS 中指定static 目录的路径(更优选,不取决于INSTALLED_APPS 中的顺序)

    • 编辑此文件,应用 changesthis Pull Request 以及您选择的任何其他更改。

    【讨论】:

    • 根据此 PR 手动更新了 chainedfk.js,并且我的 ChainedForeignKey 字段开始在管理更新页面上呈现。谢谢!
    猜你喜欢
    • 2018-05-10
    • 1970-01-01
    • 2018-10-24
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 2021-12-11
    相关资源
    最近更新 更多