Django prefilled Admin Tabular Inline
Моя цель состоит в том, чтобы первый столбец моего табличного инлайн-листа был заполнен данными из другой таблицы. Я приложил скриншот, где видно, что для tablename=game я хочу вставить номер игры (например, 1), метрику (например, время), имена_игроков и значения (-> scores) для каждого игрока. Номер и метрика относятся к игре с лунками. Каждая игра в таблице Table=Game должна содержать
- число
- метрика
- игрок_1:имя и счет
- игрок_2:имя и счет ... и так далее.
Имена игроков хранятся в таблице под названием players. Есть ли способ предварительно заполнить первую строку моей таблицы именами игроков. В противном случае мне придется записывать их для каждой игры.
Django admin panel_tabularInline
Я создал несколько моделей в models.py:
class Game(models.Model):
player_name = models.CharField(max_length=30)
class Game (models.Model):
NUMBER = (
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, 6))
METRIC = (
('Kills', 'Kills'),
('Time', 'Time'),
('Deaths', 'Deaths')
)
number = models.BigIntegerField(default=1, choices=NUMBER)
metric = models.CharField(max_length=30, choices=METRIC)
class GameItem (models.Model):
value = models.CharField(max_length=30)
game = models.ForeignKey(Game, on_delete=models.CASCADE)
def __str__(self):
Это мой файл admin.py:
from django.contrib import admin
from .models import *
class GameItemInline(admin.TabularInline):
model = GameItem
extra = 6 #I've got 6 players atm.
class GameAdmin(admin.ModelAdmin):
inlines = [GameItemInline]
class Meta:
model = Game
admin.site.register(Game, GameAdmin)