标签: django-migrations

版本1.6的Django教程

我正在尝试按照本教程:https://docs.djangoproject.com/en/dev/intro/tutorial01/

我正在使用Django 1.6.5.看来本教程中使用的版本与我的完全不同.例如,migrate我没有相关的命令manage.py.我通过下载南图书馆而syncdb不是打字来暂时解决这个问题migrate.但现在教程要我输入:

python manage.py makemigration polls
Run Code Online (Sandbox Code Playgroud)

既不是南方也不是原来的Django.我注定了吗?我是否必须安装更新版本的Django?这对我来说似乎很奇怪,因为这样做很麻烦.安装1.6是目前最容易安装的.

python django django-migrations

1
推荐指数
1
解决办法
1295
查看次数

Django 1.7没有找到具有makemigrations的新模型

我有一个包含多个应用程序和许多数据模型的项目.我正在使用Django 1.7和Python 2.7.

我已将模型组织成app级模块.

- common/
  -- models/
    --- __init__.py
    --- these_models.py
    --- those_models.py
Run Code Online (Sandbox Code Playgroud)

我在这个结构中添加了一个新文件,Django的makemigration命令没有检测到更改.

如果我将新模型放在现有的模型文件中,那么迁移文件就会完美地创建,所有东西都会迁移并运行得很好.一旦我将它们放入一个新文件,Django就找不到它们了.它们不在新的应用程序中 - 它是一个现有app/models/模块,只是一个新文件.我没有import *(ewwww)中的__init__.py任何东西.

在Django 1.4中,我不得不使用它Meta,app_label但不要再这样做了.

有什么想法吗?我是否需要手动制作迁移文件(我这样做没有问题)?

python django django-migrations

1
推荐指数
1
解决办法
1003
查看次数

从南方迁移到django 1.8加注表已经存在

我有一个在django 1.6上运行的项目,并努力将其升级到1.8,其中包括从南迁移到django的迁移.

我试着按照django文档中提到的关于如何从南方更新到django迁移的步骤https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-south

&我在尝试迁移时面临一个问题 - 初始假,似乎即使存在一些表django migration也试图创建它们

./manage.py migrate --fake-initial 


Running migrations:
  Rendering model states... DONE
  Applying retail.0001_initial... FAKED
  Applying contenttypes.0001_initial... FAKED
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0001_initial... FAKED
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying account.0001_initial... FAKED
  Applying default.0001_initial...Traceback (most recent call last):
  File "./manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
  File "/project-path/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/project-path/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/project-path/lib/python2.7/site-packages/django/core/management/base.py", line 393, in run_from_argv …
Run Code Online (Sandbox Code Playgroud)

django django-migrations

1
推荐指数
2
解决办法
2036
查看次数

运行make migrations时出现Django关系错误

嘿我正在尝试初始化一个新数据库,但我遇到了一些设置迁移的问题.我得到的错误似乎源于设置我的表单.在我正在使用的表单中,我正在创建一个选择字段:

from django import forms
from ..custom_admin import widgets, choices


class MemberForm(forms.Form):
    provinces = forms.ChoiceField(label='Provinces', choices=choices.PROVINCE_CHOICES, required=True)
Run Code Online (Sandbox Code Playgroud)

PROVINCE_CHOICES来自这里:

from ..base.models import ProvinceCode

PROVINCE_CHOICES = []
for province in ProvinceCode.objects.filter(country_code_id=1).order_by('code'):
    PROVINCE_CHOICES.append((province.code, province.code))
Run Code Online (Sandbox Code Playgroud)

问题似乎是在迁移发生之前调用了这个循环,给出了一个错误,指出省模型不存在.注释掉对该文件的引用允许迁移工作,但这似乎是继续使用的不切实际的解决方案.有没有办法解决这个错误?

作为参考,这是我运行时得到的错误manage.py makemigrations:

./manage.py makemigrations        
Traceback (most recent call last):
  File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: relation "pc_psr_code" does not exist
LINE 1: ...escription", "pc_psr_code"."country_code_id" FROM "pc_psr_co...
                                                             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-admin django-migrations

1
推荐指数
1
解决办法
987
查看次数

删除陈旧的ContentTypes的最干净方法?

我想摆脱运行迁移时收到的以下消息:

The following content types are stale and need to be deleted:

    appname | modelname

Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
Run Code Online (Sandbox Code Playgroud)

在迁移中对删除或不删除的决定进行编码似乎更干净。

在迁移过程中检测和删除过时的ContentType的最干净方法是什么?如果自动创建 ContentType,为什么不自动完成?

django django-models django-migrations

1
推荐指数
2
解决办法
932
查看次数

在迁移中移动Wagtail页面

我正在重组我的Wagtail应用程序,以删除其中仅包含一个项目的IndexPage,并将该项目移动为当前IndexPage父项的子项。

基本上是从此开始:

Page--| |--IndexPage--| |--ChildPages (其中只有1种)

对此:

Page--| |--ChildPage

我已经对模型进行了更改,以便使用此结构来创建新内容并修复相关视图以直接指向ChildPage。但是现在我想将当前数据迁移到新结构,并且不确定如何处理...理想情况下,这将在迁移中完成,因此我们无需手动进行任何操作。

有没有办法在迁移过程中以编程方式将这些ChildPage移到树上?

wagtail django-migrations

1
推荐指数
1
解决办法
590
查看次数

Django迁移错误:错误:'选项'必须是可迭代的(例如,列表或元组)

我已经为博客应用程序创建了模型.这是我的models.py:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Create your models here.
class post(models.Model):
    STATUS_CHOICE=(
        ('draft','DRAFT'),
        ('published','Published'),
    )

    title=models.CharField(max_length=250)
    slug=models.SlugField(max_length = 250,unique_for_date='publish')
    author=models.ForeignKey(User,related_name='blog_posts')
    body=models.TextField()
    publish=models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True)
    updated=models.DateTimeField(auto_now=True)
    status = models.CharField(max_length=10,
                                choices = 'STATUS_CHOICES',
                                    default='draft')
    class Meta:
        ordering = ('-publish',)
    def __str__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

当我尝试迁移模型时,我收到错误:

ERRORS:
myblog.post.status: (fields.E004) 'choices' must be an iterable (e.g., a list or tuple).
Run Code Online (Sandbox Code Playgroud)

这是我的admin.py文件:

from django.contrib import admin
from .models import post

# Register your models here.
admin.site.register(post) …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-admin django-migrations

1
推荐指数
1
解决办法
999
查看次数

为什么我无法在Django中的同一迁移中为组分配新权限

我试图按照此添加新的迁移教程 我增加了新的权限内Metapermissions现场。然后,我创建了迁移,并尝试修改此迁移以适当地更新组权限。但得到DoesNotExistRunPython操作。

from django.db import migrations


def assign_new_permission(apps, *args):
    Permission = apps.get_model('auth.Permission')
    Group = apps.get_model('auth.Group')
    # __fake__.DoesNotExist: Permission matching query does not exist.
    new_permission = Permission.objects.get(
        codename='my_new_permissoin_code')

    admins = Group.objects.get(name='Group name')
    admins.permissions.add(new_permission)


class Migration(migrations.Migration):
    dependencies = [
        ('my_app', '0066_some_migratoin'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='my_model',
            options={'permissions': (('my_new_permissoin_code',
                                      'Permission name'),)},
        ),
        migrations.RunPython(assign_new_permission)
    ]
Run Code Online (Sandbox Code Playgroud)

django django-models django-permissions django-migrations

1
推荐指数
1
解决办法
484
查看次数

“ ContentType”对象在数据迁移中没有属性“ model_class”

我的数据迁移文件中有此文件:

def set_target_user(apps, schema_editor):
    LogEntry = apps.get_model('auditlog', 'LogEntry')
    ContentType = apps.get_model('contenttypes', 'ContentType')
    for entry in LogEntry.objects.filter(target_user=None):
        ct = ContentType.objects.get(id=entry.content_type.id)
        model = ct.model_class()
Run Code Online (Sandbox Code Playgroud)

我提到了AttributeError。但是它在其他模块(不是migratins)中也能很好地工作。任何想法如何克服这个?

django django-migrations

1
推荐指数
1
解决办法
380
查看次数

Django / makemigrations ModuleNotFoundError:没有名为“ idmp_core.apps.IdmpCoreConfigdjango”的模块;

我正在学习Django ...并且运行makemigrations命令时出现无法修复的错误。

我弄错了ModuleNotFoundError: No module named 'idmp_core.apps.IdmpCoreConfigdjango'; 'idmp_core.apps' is not a package。令我感到困惑的是,出现djangoidmp_core.apps.IdmpCoreConfig字符串末尾的单词

INSTALLED_APPS = [
    'idmp_core.apps.IdmpCoreConfig'
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
Run Code Online (Sandbox Code Playgroud)

我的项目树结构如下:

D:.
|   manage.py
|   
+---idmp_core
|   |   admin.py
|   |   apps.py
|   |   models.py
|   |   tests.py
|   |   urls.py
|   |   views.py
|   |   __init__.py
|   |   
|   +---migrations
|   |       __init__.py
|           
+---idmp_v0
|   |   settings.py
|   |   urls.py
|   |   wsgi.py
|   |   __init__.py
|           
\---templates …
Run Code Online (Sandbox Code Playgroud)

python django django-migrations

1
推荐指数
1
解决办法
1426
查看次数