模型字段Aren不迁移

时间:2015-07-07 18:37:31

标签: django

我遇到了一个奇怪的错误。我似乎无法获得一个模型来保存属性 - 它太奇怪了。

我有一个简单的GFK模型:

 @Override
    public void onResume() {

        super.onResume();

        getView().setFocusableInTouchMode(true);
        getView().requestFocus();
        getView().setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {

                if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){

                    if (mDrawerLayout.isDrawerOpen(GravityCompat.START)){
                        mDrawerLayout.closeDrawer(GravityCompat.START);
                    }
                    return true;
                }

                return false;
            }
        });
    }

我将运行class Votes(GenericFKBaseModel): thumbs_up = models.BooleanField(default = False) thumbs_down = models.BooleanField(default = False) - 它表明该模型已准备好迁移。

然后我运行./manage.py makemigrations (with the app name) - 它显示正在成功迁移的模型。

但是,当我创建一个新的Votes对象并检查admin时,thumbs_up和thumbs_down是不可用的属性。有谁知道为什么会这样?我之前遇到过这个...... :(

我应该提到......模型中的两个属性都无法保存数据。如果我试着写信给他们,我会:

./manage.py migrage

我可以创建没有这些属性的对象,但它们似乎甚至不存在于数据库中。

编辑:

我将模型名称更改为Votess,并使用模型中的属性再次运行迁移过程。同样,它迁移得很好,但由于某些奇怪的原因,这些数据成员不会持久存入数据库。

我必须在这里遗漏一些东西......

EDIT2:

如果我添加'thumbs_up' is an invalid keyword argument for this function StringField,它的工作原理非常正常。但由于某种原因,我无法添加InterField

EDIT3:

这似乎只发生在SQLite中。

1 个答案:

答案 0 :(得分:0)

解决。

在出于某种奇怪的原因删除了下划线后,它似乎正常工作。

旧:

thumbs_up = models.BooleanField(default = False)
thumbs_down = models.BooleanField(default = False)

新:

thumbsup = models.BooleanField(default = False)
thumbsdown = models.BooleanField(default = False)