簡體   English   中英

django makemigration alterfield 沒有任何變化

[英]django makemigration alterfield without any change

在每次 makemigrations 改變房地產領域,而不要改變該領域。 這是什么原因?!

class Announcement(OJModel):
owner = models.ForeignKey('user.User', verbose_name=_('Announcement Owner'), on_delete=models.CASCADE,
                          related_name='owner_announcements', null=True, blank=True)
title = models.CharField(max_length=300, default='', verbose_name=_('Title'))
description = models.TextField(max_length=3000, default='', verbose_name=_('Description'))
estate = models.OneToOneField('announcement.Estate', on_delete=models.CASCADE, verbose_name=_('Estate'), null=True)

生成的遷移腳本:

class Migration(migrations.Migration):

dependencies = [
    ('announcement', '0072_auto_20181218_1256'),
]

operations = [
    migrations.AlterField(
        model_name='announcement',
        name='estate',
        field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to='announcement.Estate', verbose_name='Estate'),
    ),

]

在models.py中這樣寫:

from django.db import models

class Announcement(models.Model):
    owner = models.ForeignKey('user.User', verbose_name=_('Announcement Owner'), on_delete=models.CASCADE,related_name='owner_announcements', null=True, blank=True)
    title = models.CharField(max_length=300, default='', verbose_name=_('Title'))
    description = models.TextField(max_length=3000, default='',verbose_name=_('Description'))
    estate = models.OneToOneField('announcement.Estate', on_delete=models.CASCADE,verbose_name=_('Estate'), null=True)

    def __str__(self):
        return self.title

在 admin.py 中這樣寫:

from django.contrib import admin
from .models import Announcement

# Register your models here.

admin.site.register(Announcement)

保存文件,現在從遷移文件夾中刪除舊的遷移!

現在在 manage.py 目錄的命令行中運行這些:

python manage.py makemigrations

然后這個:

python manage.py migrate

一切都完成了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM