模型值不会在Djang的管理区域中更改

2024-09-25 00:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在经历Django本身的Writing your first Django app, part 2。在

一切都很好,不过只有一个问题。当创建模型时,我不能在编辑和保存时更新管理区域内问题文本的值。它只显示默认值(新增内容?)我从shell中设置了以下内容:

q = Question(question_text="What's new?", pub_date=timezone.now())

模型.py:

^{pr2}$

管理员py:

from django.contrib import admin

from .models import Choice, Question

class ChoiceInline(admin.TabularInline):
    model = Choice
    extra = 3

class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
    (None,                  {'fields': ['question_text']}),
    ('Date information',    {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]
    inlines = [ChoiceInline]

admin.site.register(Question, QuestionAdmin)

有什么事我做得不对吗?在


Tags: djangotextfrompy模型importdateadmin
1条回答
网友
1楼 · 发布于 2024-09-25 00:32:27

我现在明白了。我错过了在问题和选择中添加__str__()方法。在

因此它没有返回选项文本问题文本。在

模型现在将如下所示:

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length = 200)
    pub_date = models.DateTimeField('date published')
    def __str__(self):
        return self.question_text

class Choice(models.Model):
    question = models.ForeignKey(Question)
    choice_text = models.CharField(max_length = 200)
    votes = models.IntegerField(default = 0)
    def __str__(self):
        return self.choice_text

相关问题 更多 >