私はDjangoの管理ページで遊んでいましたが、立ち往生してしまって、ドキュメントに解決策が見つからないようです。私は、Location、RestaurantFeature、Employeeという3つの異なるモデルを定義しました。 3つのモデルがすべて互いにリンクされています。この質問は私の従業員のモデルに固有のものです:新しいlist_display after list_filterが有効になりました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
を定義する方法はありますか?
詳細CLEARER: list_displayは、フルネーム、レストランおよび以前の経験を定義します。レストランのフィルターが適用されたら、これらの変数をフルネーム、レストラン、以前の経験、時間契約、時間別給与に変更したいと思います!たとえば、すべてのレストランのすべての従業員に一般的な情報が表示されますが、たとえば「McDonald's」が選択されると、McDonaldの従業員にはより詳細な情報が提供されます。
これは明らかではありませんが、私は恐れています。 「レストランフィルタが有効になったら、新しいlist_display」という正確な意味は?どのように新しい? –
すみません。 'list_display'はフルネーム、レストラン、以前の経験を定義します。レストランのフィルターが適用されたら、これらの変数をフルネーム、レストラン、以前の経験、時間契約、時間別給与に変更したいと思います!たとえば、すべてのレストランのすべての従業員は一般的な情報で表示されますが、たとえば「Mc Donalds」が選択されると、Mc Donaldsの従業員にはより詳細な情報が提供されます。 –