Я внес изменения в одну из моих моделей в своем проекте и перенесен, makemigrations не работает должным образом.Перестройка базы данных создает только 2 из 3 таблиц из моего models.py, и я не могу понять проблему.
Есть два разных приложения;«блог» и «пользователи».оба зарегистрированы в файле setting.py.
Я полностью удалил базу данных и удалил папки миграции.затем я попробовал следующее:
django makemigrations blog
django migrate blog
выполнение глобального django makemigrations
не имеет никакого эффекта, никаких изменений не обнаружено.
вот соответствующий файл models.py из «блога»:
class Room(models.Model):
roomname = models.CharField(max_length=6, unique=True)
roomeditors=models.ManyToManyField(User,related_name='rooms_user_can_edit', blank=True)
displayadmin=models.ForeignKey(User,
related_name='room_user_is_displayadmin',null=True, on_delete=models.SET_NULL)
def __str__(self):
return self.roomname
class Post(models.Model):
title = models.CharField(max_length=40)
content = models.TextField(max_length=300)
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
rooms = models.ManyToManyField(Room, related_name='roomposts', through='Display')
def __str__(self):
return self.title
def get_absolute_url(self):
return "/post/{}/".format(self.pk)
class Display(models.Model):
class Meta:
auto_created = True
post = models.ForeignKey(Post, on_delete=models.CASCADE)
room = models.ForeignKey(Room, on_delete=models.CASCADE)
isdisplayed = models.BooleanField(default=0)
def __str__(self):
return str(self.isdisplayed)
каждая таблица создается за исключением отображения.вывод:
Migrations for 'blog':
blog\migrations\0001_initial.py
- Create model Room
- Create model Post