2

我知道使用常规字符串,您可以执行 x.len() 来获取它的长度,但是 Django 模型 TextField 似乎并不想要这样。我找到并查看了模型字段参考。如何在 Django 中获取文本字段的长度?帮助和示例表示赞赏。

4

2 回答 2

5

Django 模型实例实际上并不将字段公开为字段类:一旦从数据库加载,它们只是相关数据类型的实例。因此,CharField 和 TextField 都作为简单字符串进行访问。这意味着,与任何其他 Python 字符串一样,您可以调用len(x)它们 - 注意,这是一个内置函数,而不是字符串方法。所以len(myinstance.mytextfield)并且len(myinstance.mycharfield)会起作用。

于 2012-08-13T15:41:48.690 回答
3

试试len(obj.your_field)。这应该会给你你想要的,因为结果它将是一个相应数据类型的对象(TextField 字段和 CharField 字段都是字符串)。这是一个基于文档的快速示例:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

 person = Person.objects.get(pk=1)

 len(person.first_name)

此外,除非您以某种方式添加它,否则 python 中没有 'string'.len() 方法。

于 2012-08-13T15:54:29.660 回答