SystemCheckError: Проверка системы выявила некоторые проблемы: (models.E006)
Я пытаюсь сделать игру Tic Toc Toe с Django
, но у меня проблема с models
. вы можете увидеть ошибку здесь. две строки отмечены здесь. это строки ошибок и код работал без этих строк, но мне нужны эти поля.
примечание: я использую python3.10 и перед запуском проекта проверил, работает ли django
в нем.
ALSO смотрите здесь для получения дополнительной информации о TextFields
.
players/models.py
скрипты:
from django.db import models as m
from json import dumps, loads
class Match(m.Model):
player1 = player2 = m.ForeignKey('Player', on_delete=m.CASCADE)
started_at = m.DateTimeField()
tables = m.TextField()
class Player(m.Model):
points = m.IntegerField(default=0)
matchs_played = m.IntegerField(default=0)
speed_average = m.FloatField(null=True)
last_game = m.ForeignKey(Match, on_delete=m.CASCADE)
class Table(m.Model):
starter = rival = m.ForeignKey(Player, on_delete=m.CASCADE)
match = m.ForeignKey(Match, on_delete=m.CASCADE)
raw_items = m.TextField(default=dumps([[[0, .0] for _ in range(3)] for _ in range(3)]))
# [[[0, .0] * 3] * 3]
def __init__(self, *, starter, rival, match, items: list[list[list[int]]]):
# TODO: convert list to json object
super().__init__(starter=starter, rival=rival, match=match, raw_items=loads(items))
@property
def items(self) -> list[list[int]]:
return loads(self.raw_items)
@items.setter
def items(self, value: list[list[int]]) -> None:
self.raw_items = dumps(value)
... # other methods
и ошибка:
(venv) X:...>py manage.py makemigrations
SystemCheckError: System check identified some issues:
ERRORS:
players.Match.player1: (models.E006) The field 'player1' clashes with the field 'player1' from model 'players.match'.
players.Table.starter: (models.E006) The field 'starter' clashes with the field 'starter' from model 'players.table'.
как я его солью?