【问题标题】:Django: AJAX/jQuery in AdminDjango:管理员中的 AJAX/jQuery
【发布时间】:2015-04-05 01:45:52
【问题描述】:

我有一个 Contract 类,其中 contract_mod 允许从以前的合同扩展合同。 contract_mod 应该只显示与我们之前选择的人相关的合同。因为我从来没有使用过 AJAX/jQuery,所以我不知道从哪里开始。

class Contract(models.Model):
    person        = models.ForeignKey(Person) #person hired
    project       = models.ForeignKey(Project, blank = True, null = True) #related project
    contract_mod  = models.OneToOneField('self', blank = True, null = True) #allows to extend a contract
    type_contract = models.CharField(max_length = 9, blank = True, verbose_name = _(u"Type of contract(Full time/grant/Partial time...)"))
    starting_date = models.DateField(blank = True, null = True)
    ending_date   = models.DateField(blank = True, null = True)

【问题讨论】:

    标签: jquery ajax django django-admin


    【解决方案1】:

    1 - 我不认为 contract_mod 会像这样工作;我猜你想要一个人的合同清单?为此,您不需要 onetoone 字段。更不用说'self'了。

    相反,您可以简单地使用query 来检索逻辑部分中此人的所有联系人,大致如下:Contract.object.filter(person=person)(我不能非常具体,因为您提供的关于您的班级的信息很少逻辑以及你想如何做事。)

    2 - 这都是后端的东西。即使你想用它做一个视图,这仍然会被认为是后端的东西。如果您想通过 ajax 调用使用 jquery 检索这些东西,因为它似乎来自您的问题,请在另一个问题中询问如何执行此操作,因为它是前端的东西,与 django 无关。

    但简而言之,您可以使用查询结果创建一个视图,并将其传递到 json 或 xml 到前端,而不是例如模板。

    【讨论】:

    • 该类与“自我”link 正常工作,只是我需要添加 jQuery 功能,我需要在管理员中使用它。我看到有一些提供此功能的第三方扩展,但我更喜欢保持代码 clean
    猜你喜欢
    • 1970-01-01
    • 2011-06-26
    • 2011-11-03
    • 2012-03-09
    • 2010-10-12
    • 2012-05-12
    • 2014-08-10
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多