1
试图创建一个基于关tutorial一个Django应用程序,但使用不同的模型。Django管理问题强制转换为Unicode
我在一部分我们改变管理面板添加3(使用Djanago第一次)具有相关外键的项目。
我知道从
class EventAdmin(admin.ModelAdmin):
问题起源于admin.py的第10行,但我不知道该字段如何布置应使其工作。
管理面板直到我尝试创建3个选项。然后,我碰到下面的错误...... 胁迫到Unicode:需要字符串或缓冲区,地点发现
代码如下...
models.py
from django.db import models
class Location(models.Model):
icon = models.CharField(max_length=200)
location = models.CharField(max_length=200)
def __unicode__(self):
return self.location
class Event(models.Model):
location = models.ForeignKey(Location)
info = models.CharField(max_length=200)
def __unicode__(self):
return self.location
class Choice(models.Model):
event = models.ForeignKey(Event)
choice = models.CharField(max_length=200)
link = models.CharField(max_length=200)
def __unicode__(self):
return self.choice
admin.py
from map.models import Location
from map.models import Event
from map.models import Choice
from django.contrib import admin
class ChoiceInline(admin.StackedInline):
model = Choice
extra = 4
class EventAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['location', 'info']}),
]
inlines = [ChoiceInline]
admin.site.register(Event, EventAdmin)
admin.site.register(Location)
+1。并认为返回self.location.location是一个糟糕的形式 - 第一个例子与位置转换为Unicode字符串是可取的。 –