【发布时间】:2021-03-31 03:15:57
【问题描述】:
搜索了一段时间后,我似乎找不到任何答案,所以我问这个问题。我想要的是根据一个人的薪水和一个括号显示一些值。我的模型看起来像这样。
class Employee
salary = models.DecimalField
class Benefit
some_fields
class EmployeeBenefit
employee = models.ForeignKey
benefit = models.ForeignKey
class BenefitVersion
benefit = models.ForeignKey
class BenefitBracket
benefit_version = models.ForeignKey
from_salary = models.DecimalField
to_salary = models.DecimalField
the_fields_I_want_to_display
正如您所看到的,它非常深,需要进行大量查询才能找到我想要的字段。
我基本上需要获取员工的薪水(这很容易,因为这将在 EmployeeAdmin 内部)然后获取 EmployeeBenefit 列表项的当前福利,然后根据福利和员工的薪水,获取括号和然后在inline 上显示其中的一些字段。
我想在我的EmployeeAdmin 中为EmployeeBenefit 在admin.TabularInline 上显示the_fields_I_want_to_display。我在inline 中使用forms.ModelForm 进行测试,并根据this 答案使用get_form 修改其内容,但django 没有调用get_form。我之前也尝试过使用calculated_fields,但它也没有被渲染。
我正在使用 django 3.1.7 顺便说一句
编辑:
我找到了this 并立即试用。我认为它有潜力,但不幸的是get_formset 给出的obj 是Employee,所以我仍然需要找到一种方法来为列表项找到正确的EmployeeBenefit
【问题讨论】:
标签: django