Django:管理员中的 AJAX/jQuery
Posted
技术标签:
【中文标题】Django:管理员中的 AJAX/jQuery【英文标题】:Django: AJAX/jQuery in Admin 【发布时间】: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)
【问题讨论】:
【参考方案1】:1 - 我不认为 contract_mod 会像这样工作;我猜你想要一个人的合同清单?为此,您不需要 onetoone 字段。更不用说'self'
了。
相反,您可以简单地使用query 来检索逻辑部分中此人的所有联系人,大致如下:Contract.object.filter(person=person)
(我不能非常具体,因为您提供的关于您的班级的信息很少逻辑以及你想如何做事。)
2 - 这都是后端的东西。即使你想用它做一个视图,这仍然会被认为是后端的东西。如果您想通过 ajax 调用使用 jquery 检索这些东西,因为它似乎来自您的问题,请在另一个问题中询问如何执行此操作,因为它是前端的东西,与 django 无关。
但简而言之,您可以使用查询结果创建一个视图,并将其传递到 json 或 xml 到前端,而不是例如模板。
【讨论】:
该类与“自我”link 正常工作,只是我需要添加 jQuery 功能,我需要在管理员中使用它。我看到有一些提供此功能的第三方扩展,但我更喜欢保持代码 clean以上是关于Django:管理员中的 AJAX/jQuery的主要内容,如果未能解决你的问题,请参考以下文章
Ajax jQuery serialize() & serializeArray() textarea 未以 Django 形式提交
从 Django 中的 JsonResponse 中提取字段值并将其传递给 Ajax Jquery