gpt4 book ai didi

django - 在 Django 字段上过滤无

转载 作者:行者123 更新时间:2023-12-03 17:52:17 26 4
gpt4 key购买 nike

我有一个模型 Person 有时在 birth_date 中什么都没有 field 。下面是一个例子:

(Pdb) dude = Person.objects.get(pk=20)
(Pdb) dude
<Person: Bob Mandene>
(Pdb) dude.birth_date
(Pdb) dude.birth_date == None
True

如何过滤这些具有 birth_date == None 的记录?

我已经尝试了以下但没有成功:

1:“birth_date__isnull”不起作用。
 Person.objects.filter(birth_date__isnull = True) 
# does not return the required
# object. Returns a record that have birth_date set to
# NULL when the table was observed in MySQL.

以下不返回 id 为 20 的记录。
Person.objects.filter(birth_date = "")

如何过滤无字段? NULL 和 None 似乎不同。当我使用 sequel pro(mysql 图形客户端)查看数据时,我看到“0000-00-00 00:00:00”,并且以下内容也不起作用
(Pdb) ab=Patient.objects.filter(birth_date = "0000-00-00 00:00:00")
ValidationError: [u"'0000-00-00 00:00:00' value has the correct format
(YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) but it is an invalid date/time."]

型号
class Person(models.Model):
person_no = models.IntegerField(primary_key=True)
locationid = models.IntegerField(null=True, db_column='LocationID', blank=True)
address = models.ForeignKey('Address', db_column = 'address_no')
birth_date = models.DateTimeField(null=True, blank=True)
class Meta:
managed = False
db_table = 'person'

最佳答案

mysql 中的 NULL 在 python 中变成 None,所以你用birth_date__isnull=True 应该返回那些将birth_date 设为None 的。

关于django - 在 Django 字段上过滤无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com