gpt4 book ai didi

python - 强制转换为 Unicode 的 Django Admin 问题

转载 作者:太空宇宙 更新时间:2023-11-04 10:58:45 25 4
gpt4 key购买 nike

尝试基于 tutorial 创建一个 Django 应用程序但使用不同的模型。(第一次使用 Djanago)

我在您更改管理面板以添加 3 个具有依赖外键的项目的部分。

我知道问题出在

class EventAdmin(admin.ModelAdmin):

在 admin.py 的第 10 行,但我不确定应该如何安排这些字段以使其工作。

管理面板一直有效,直到我尝试创建一个有 3 个选项的事件。然后我收到以下错误...强制转换为 Unicode:需要字符串或缓冲区,找到位置

代码如下...

模型.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

管理员.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)

最佳答案

.__unicode__() 方法应该返回一个 unicode 对象。

然而,您的 Event.__unicode__() 返回 self.location,这是一个 Location 实例。将 self.location 转换为 unicode 或显式引用 Location 对象中的字段。

def __unicode__(self):
return u'%s' % (self.location, )

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

关于python - 强制转换为 Unicode 的 Django Admin 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7560641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com