django model的使用

1, 字段如下

    insertTime = models.DateTimeField(auto_now_add=True, null=True, blank=True)
    parseTime = models.DateTimeField(null=True, blank=True)

如何判断parseTime是没有经过处理的呢, PHP 中可能是 '' , python 中是 None, 如查询其中没有经过解析的有多少个:

not_parse_packages_count = ModelUploadslogs.objects.filter(parseTime=None).count()

 

2, 报错信息,Manager isn't accessible via Uploadslogs instances

class Uploadslogs(models.Model):

    ######## model CRUD method
    def getAllPckagesCount(self):
        return self.objects.count()
    
    def getNotParsePackagesCount(self):
        return self.objects.filter(parseTime=None).count()

 

使用: logModel = ModelUploadslogs()
        all_packages_count = logModel.getAllPckagesCount()
        not_parse_packages_count = logModel.getNotParsePackagesCount()

 

应该把self.objects.count() 改成 Uploadslogs.objects.count()  即可

 

 

3,  model中的字段自动生成的table中的字段顺序并不是class中写的那个顺序。而是按照字段首字母顺序进行排列的。自动生成的id除外。 如果是要跟其他对应起来的话,比如excel表等需求, 则使用verbose_name

 

4, 有的model不想被管理,不想被自动生成。 可以添加这个属性。但是重新加回来不会再生成,注意

    class Meta:
        managed = False

 

TODO

你可能感兴趣的:(python,django)