我有一個模型的多個實例,每個實例都有一個相關的電子郵件地址。但是,有幾個實例具有相同的連接電子郵件地址,但是當我將filter['email']
放入我的admin.py
時,我會收到實例電子郵件的一長串列表,即多個相同電子郵件的多個副本。Django管理員過濾器
有沒有一種方法可以刪除多次列出的電子郵件?或者將過濾器視圖定製爲更好的方法? (下拉菜單也許?)
我目前沒有ManyToManyField
關係,或類似的東西。我的數據庫中只有name
和email
的實例。我的models.py如下:
import ldapdb.models
from ldapdb.models.fields import CharField, IntegerField, ListField
class Item(ldapdb.models.Model):
item = CharField(db_column='item', max_length=30, primary_key=True, unique=True)
email = CharField(db_column='mail', max_length=20)
我的admin.py看起來像這樣:
from items.models import Item
from django.contrib import admin
class ItemAdmin(admin.ModelAdmin):
readonly_fields = ('email',)
list_display = ('item', 'email')
list_filter = ['email']
search_fields = ['item']
admin.site.register(Item, ItemAdmin)
很顯然,我一直在尋找https://docs.djangoproject.com/en/1.3/ref/contrib/admin/,但我實在看不出太大的方式定製我的管理員過濾器視圖。
首先我的數據庫在LDAP中,因此沒有'ForeignKey'可用的東西。我的數據庫只有很多帶有「name」和「email」字段的對象,並且很多對象只有相同的電子郵件關聯。 在管理員中,我已經包含行'list_filter = ['pub_date']'....等管理頁面的RHS,只是實例的電子郵件的長列表...包括多個副本同一個。 – user2564502
那有什麼問題?你自己說過一些電子郵件會重複自己,所以你有理由不止一次地看到它。我真的建議你發佈一些你的代碼,所以我可以更好地理解你正在使用的問題 – yuvi
我很感謝你試圖幫助我,但我不明白你想看到哪些代碼會幫助你。 models.py本身? (這只是定義名稱和電子郵件)。 admin.py只是一個帶有'list_filter = ['email']'' – user2564502