我一直在玩Django的管理頁面,並陷入困境,似乎無法在文檔中找到解決方案。我定義了三種不同的模型:位置,餐廳特色和員工。這三種模型都是相互關聯的。這個問題是特定於我的員工型號:在list_filter啓用後新建list_display Django 1.10
class Employee(models.Model):
restaurant = models.ForeignKey(RestaurantFeature, on_delete=models.CASCADE)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
age = models.IntegerField()
address = models.CharField(max_length=80)
prior_experience = models.BooleanField(default=False)
hour_contract = models.IntegerField()
hourly_salary = models.FloatField()
def _get_full_name(self):
return '%s %s' % (self.first_name, self.last_name)
full_name = property(_get_full_name)
def __str__(self):
return "%s" % self.full_name
class Meta:
verbose_name_plural = "Employees"
自定義管理佈局,我有:
class EmployeeAdmin(admin.ModelAdmin):
list_display = ('full_name','restaurant','prior_experience',)
list_filter = ('restaurant',)
search_fields = ('first_name', 'last_name',)
admin.site.register(Employee, EmployeeAdmin)
這個偉大的工程!定義的顯示器工作,過濾器也一樣。我想要的是:一旦啓用restaurant filter
,新的list_display
!這樣可以在需要時提供更詳細的信息。
如何定義新的list_display
一旦list_filter
被應用?
MORE CLEARER: list_display現在定義了全名,餐廳和以前的經驗。一旦餐廳過濾器被應用,我希望這些變量變成全名,餐廳,以前的經驗,小時合同和小時工資!例如,所有餐廳的所有員工都會顯示一些一般信息,但是一旦選擇了「麥當勞」,麥當勞員工就會獲得更詳細的信息。
這個不清楚,恐怕。 「餐館過濾器啓用後,新的list_display」究竟是什麼意思?新的方式是什麼? –
對不起。 'list_display'現在定義了全名,餐廳和以前的經驗。一旦餐廳過濾器被應用,我希望這些變量變成全名,餐廳,以前的經驗,小時合同和小時工資!例如,所有餐館的所有員工都會顯示一些常規信息,但是一旦選擇了「Mc Donalds」,則會爲Mc Donalds員工提供更詳細的信息。 –