[英]How to relate many-to-many relationship on same page in django-admin?
[英]How to relate fields in Django Admin?
在模型中,我有一個DecimalField“ first_arg”和一個多選CharField“ second_arg”。
我想實現以下目標:在管理面板中,如果為“ second_arg”字段選擇了一個特定選項(例如“ B”),則將插入“ first_arg”表單字段的任何值增加2。僅在用戶界面級別發生。 什么是正確的方法?
由於它是管理界面的一部分,因此修改模型應該是錯誤的。 另一方面,我在文檔中找不到任何有關它的信息。 我考慮過只在靜態文件中使用一些JS,但這有點黑。 在Django Admin中,有沒有一種優雅的方式來做這些事情?
型號代碼:
a = "a"
b = "b"
etc = "etc"
RELEVANT_OPTIONS = (
(a, "A"),
(b, "B"),
(etc, "etc")
)
class MyModel(models.Model):
first_arg = models.DecimalField(
max_digits=4,
decimal_places=2,
blank=True, null=True
)
second_arg = models.CharField(
choices=constants.RELEVANT_OPTIONS,
max_length=20,
blank=True, null=True
)
class Meta:
abstract = True
我認為您將不得不覆蓋模板並提供一些JavaScript。 它是相當可擴展的,並不是太“ hacky”(即,您不必覆蓋整個管理模板):
我知道的所有其他選項都會影響服務器端的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.