2
내가있어 시장 모델 :장고 관리자 조건부 디스플레이 인라인 필드
class VacationEvent(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
process_fba = models.BooleanField(default=True)
@property
def has_amazon_fba_vacation(self):
return hasattr(self, 'amazon_fba_vacation')
그리고 admin.py의 : 생성 할 때 나는 조건부 FBAInline 클래스를 표시해야
class FBAInline(admin.StackedInline):
model = AmazonFBAVacation
can_delete = False
verbose_name_plural = 'amazon fba vacation'
fk_name = 'event'
\ VacationEventAdmin을 업데이트 중입니다. 그것이 사실 그래서 만약 list_filter는 "process_fba"필드의 진정한 \ 거짓 값을 보여줍니다 - FBAInline가 표시되어야합니다
@admin.register(VacationEvent)
class VacationEventAdmin(admin.ModelAdmin):
inlines = []
list_display = ('id', 'user', 'holiday_name', 'start_date', 'end_date', 'process_fba', 'process_fbm', 'process_walmart', 'process_ebay')
list_filter = ['process_fba', 'process_fbm', 'process_walmart', 'process_ebay', 'status',]
search_fields = ['holiday_name', 'user__username']
# if VacationEvent.process_fba and VacationEvent.has_amazon_fba_vacation:
# inlines.append(FBAInline)
# try:
# getattr(VacationEvent, 'process_fba')
# except AttributeError:
# print "doesn't"
# else:
# inlines.append(FBAInline)
내가 ATTR을 받고 시도했지만 관리자에 대한 필드 값을 비교하는 방법 understant하지 않습니다. 어떤 도움을 주셔서 감사합니다.