Как сделать внешний ключ без знака в Django - PullRequest
0 голосов
/ 07 марта 2019

Я хочу знать, как сделать внешний ключ без знака в Django v1.11.

У меня есть две таблицы: tournament и vip_promotion.

Первичный ключ id в vip_promotion равен int, unsigned. Когда я создал миграцию для таблицы tournament, я не смог сделать внешний ключ для vip_promotion, потому что Django только делает столбец внешнего ключа только int без unsigned.

Есть ли способ сделать столбец внешнего ключа unsigned в Django?

class Tournament(BrickModel):
  display_name = models.CharField(max_length=255)
  vip_promotion = models.ForeignKey(Vip_Promotion, null=True, blank=True)

1 Ответ

2 голосов
/ 07 марта 2019

вы можете написать собственные поля модели для этого.

# MySQL unsigned integer (range 0 to 4294967295).
class UnsignedAutoField(models.AutoField):
    def db_type(self, connection):
        return 'integer UNSIGNED AUTO_INCREMENT'

    def rel_db_type(self, connection):
        return 'integer UNSIGNED'

Ссылка: - Запись пользовательских полей модели

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...