我有一個模型類別具有一個外鍵到SimplePage模型。 null
和blank
設置爲True。問題是,當我從管理界面編輯類別時,我無法將ForeignKey更改爲---------
(這看起來像管理員說的None的方式。)最初的值可以爲None,我可以將其更改爲實際值通過管理員,我可以更改爲另一個值,但一旦它有一個實際值,我不能將其更改回無。 (通過管理員,就是這樣)。Django:無法將外鍵值設置爲無從管理
這是爲什麼?
UPDATE:
下面是models.py
代碼:
from django.db import models
import tinymce.models
from photologue.models import Photo
from django.utils.translation import ugettext_lazy as _
import multilingual
class SimplePage(models.Model):
slug = models.SlugField(
_('Slug'),
unique=True,
help_text=_('''Unique identifier for URL. Only letters, digits, and -.\
e.g. history-oct-2000 or about''')
)
category = models.ForeignKey('Category',
related_name='items_including_main_page',
blank=True, null=True)
class Translation(multilingual.Translation):
title = models.CharField(_('Title'), max_length=42)
content = tinymce.models.HTMLField(_('Content'), blank=True)
class Admin:
list_display = ('title',)
search_fields = ('title', 'content')
class Meta:
verbose_name = _('Simple page')
verbose_name_plural = _('Simple pages')
__unicode__ = lambda self: self.title
class Category(models.Model):
main_page = models.OneToOneField(
SimplePage,
related_name='_SimplePage__category_which_has_this_as_title',
blank=True,
null=True)
get_title = lambda self: self.main_page.title if self.main_page else u''
get_items = lambda self: \
self.items_including_main_page.exclude(id__exact=self.main_page.id)
__unicode__ = lambda self: self.get_title() or u'Titleless Category'
class Admin:
pass
class Meta:
verbose_name = _('Category')
verbose_name_plural = _('Categories')
而且admin.py
:
from sitehelpers.models import *
from django.contrib import admin
import multilingual
class SimplePageAdmin(multilingual.ModelAdmin):
pass
admin.site.register(SimplePage, SimplePageAdmin)
admin.site.register(Category)
我們怎麼能知道爲什麼,除非你向我們展示一些代碼? – 2010-02-08 14:40:11
'required = True'? – tback 2010-02-08 15:56:06
在模型中?第 – 2010-02-08 21:07:28