Django迁移未写入数据库,但抱怨在进行进一步更改时缺乏关联

时间:2019-06-06 14:28:13

标签: django postgresql django-migrations

我最近创建了一个名为“搜索”的新类来存储用户的搜索历史记录。为了在数据库上反映这一点,我运行了python manage.py makemigrations,到目前为止,它在migrations目录中创建了文件0001_initial.py。但是,当我运行python manage.py showmigratiions时,它表明新类已被迁移。

searches
 [X] 0001_initial

如果我运行python manage.py migrate,它会认为不需要进一步的迁移就不足为奇了。

Operations to perform:
  Apply all migrations: searches
Running migrations:
  No migrations to apply.

在整个过程中,0001_initial.py永远不会显示在表django_migrations中。

奇怪的是,如果我稍稍更改了类,则可以先运行makemigrations,然后运行migrate,然后编辑的迁移将显示在数据库的django_migrations表中。可悲的是,它仍然不会为“搜索”创建表。

这是我的模特。py

from django.db import models
from bookapp.users.models import User
from bookapp.models import TimestampedModel

class Search(TimestampedModel):

    user = models.ForeignKey('users.User', related_name='searched_by_user', blank=True, null=True, on_delete=models.SET_NULL)
    datetime = models.DateTimeField(auto_now_add=True)
    search_input = models.CharField(max_length=1024, null=True, blank=True)

    def __str__(self):
        return self.search_input

并且我已经将Search包含在settings.py中的INSTALLED_APP中

0 个答案:

没有答案