我遇到了一个奇怪的错误。我似乎无法获得一个模型来保存属性 - 它太奇怪了。
我有一个简单的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中。
答案 0 :(得分:0)
解决。
在出于某种奇怪的原因删除了下划线后,它似乎正常工作。
旧:
thumbs_up = models.BooleanField(default = False)
thumbs_down = models.BooleanField(default = False)
新:
thumbsup = models.BooleanField(default = False)
thumbsdown = models.BooleanField(default = False)