首页 文章

Django模型字段没有出现在管理员中

提问于
浏览
1

我在我的Django项目中有一个相对简单的模型(我应该注意到这个措辞很奇怪,因为应用程序本身被称为'游戏',其中模型是游戏,但我稍后会改变它):

from django.db import models

class Game(models.Model):
    player_turn = models.IntegerField(),
    game_state = models.BooleanField(),
    rolled = models.BooleanField(),
    rolled_double = models.BooleanField(),
    last_roll = models.IntegerField(),
    test_text = models.CharField(max_length = 200),

使用项目主文件夹中的settings.py文件显示

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'games.apps.GamesConfig',
]

和games / admin.py看起来像这样来自django.contrib import admin

from .models import Game

admin.site.register(Game)

当我尝试运行'python3 manage.py makemigrations'时,它显示未检测到任何更改(即使我随意更改游戏模型以测试效果),当我进入管理站点添加新游戏时,没有可用于编辑的字段,就像有用户和组模型 . 模型本身显示在管理站点中,但没有任何字段 . 现在我正在跟随MDN Django教程(https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Models),看起来我正在遵循所有必要的步骤,所以有人能让我知道我可能会忘记做什么吗?

我很乐意发布任何其他可能有用的代码 . 网站管理员的图片如下 . 提前致谢 .

Main Site Admin

Game Info

Add Game

1 回答

  • 3

    删除模型中每个字段后的所有逗号(',')并尝试makemigrations并迁移,然后检查管理面板

    class Game(models.Model):
        player_turn = models.IntegerField()
        game_state = models.BooleanField()
        rolled = models.BooleanField()
        rolled_double = models.BooleanField()
        last_roll = models.IntegerField()
        test_text = models.CharField(max_length = 200)
    

相关问题