2010-12-02 71 views
0

這是我的模型ForeignKey的返回ID

class Category(models.Model): 
    title = models.ForeignKey(Title, verbose_name="Title") 
    class Meta: 
     ordering = ['title'] 
    def __unicode__(self): 
     return self.title.title

我使用的一種形式由CharField

class CategoryForm(forms.ModelForm): 
    title = forms.CharField(label = "Title") 
    class Meta: 
     model = Category 

class CategoryAdmin(admin.ModelAdmin): 
    form = CategoryForm

我的頭銜模型

class Title(models.Model): 
    title = models.CharField("Title", max_length=200) 

    def __unicode__(self): 
     return self.title
更換ForegnKey場

當我添加和顯示類別時一切正常,但當我嘗試編輯類別時,我在標題字段中獲得了ForeignKey ID。我希望它是標題字符串。任何方式來做到這一點?

非常感謝您

+0

爲什麼你只有一個字段標題模式?爲什麼不僅僅是類別上的models.CharField標題? – 2010-12-02 13:28:36

回答

0

我已經修復了這個問題,使標題唯一併在我的category分類中爲ForeignKey添加to_field選項。這是代碼:

class Title(models.Model): 
    title = models.CharField("Title", max_length=200, unique=True) 

    def __unicode__(self): 
     return self.title
class Category(models.Model): 
    title = models.ForeignKey(Title, verbose_name="Title", to_field='title') 

    class Meta: 
     ordering = ['title'] 

    def __unicode__(self): 
     return self.title.title

謝謝

0

我沒有檢查這個解決方案(我現在不能創建測試應用程序),我不相信它的作品。

嘗試將exclude = ("title",)添加爲CategoryForm成員。也許你可能需要重寫CategoryForm的save()(也可能是其他)方法。