モデル (アプリケーション) がforeign_key (Person) テーブルに関連付けられています。管理者の Person-dropdown をキーではなく名前でソートするのに問題があり、解決策としてこのReorder users in django authを見つけました。ただし、これによりフィールドが必須になり、オプションのままにする方法がわかりません。
アプリ/models.py
class Person(models.Model):
Full_Name = models.CharField(max_length=200)
def __unicode__(self):
return self.Full_Name
class Application(models.Model):
Name = models.CharField(max_length=100)
Primary_Contact = models.ForeignKey(Person,blank=True,null=True,related_name='appprimarycontact')
def __unicode__(self):
return self.Name
admin.py
class OwnerAdminForm(forms.ModelForm):
Primary_Contact = forms.ModelChoiceField(queryset=Person.objects.order_by('Full_Name'),)
class Meta:
model = Application
class ApplicationAdmin(admin.ModelAdmin):
form = OwnerAdminForm
list_display = ('Name','Primary Contact')