我有一个简单的问题:在我的模型中,我正在为我的一个表定义结构; 不过,我想设置为默认值Booleanfield:own,但它似乎并没有正常工作.这是我在模型中的代码:
class Books(models.Model):
title = models.CharField(max_length=100)
own = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)
当我desc在mysql中的表时,这就是我得到的(请注意,自己的默认值为Null):

此外,当我尝试执行以下操作时:
INSERT INTO `counters_books` (`title`) VALUES ('My Brain is Open')
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
ERROR 1364 (HY000): Field 'own' doesn't have a default value
Run Code Online (Sandbox Code Playgroud)
PS我明白通过使用NullBooleanField我将能够解决问题; 但是,default除非我必须为该字段指定值,否则如果我不能插入行有什么意义呢?
我有一个名称字段end_date,当我尝试在我的视图中使用过滤器时:
c = Coursera.objects.filter(end_date__lt = datetime.date.today()).order_by('-date')[:1].get()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法将关键字"日期"解析为字段.选择是:......
end_被完全忽略了; 因此,我认为这end可能是一个关键词; 显然,我可以将字段名称更改为其他名称; 但是,我的问题是:还有另一种方法仍然使用该字段名称并能够使用过滤器吗?
PS我认为关键字如lt,或gt仅在两个下划线之后使用!