首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何访问ForeignKey子模型的ID?int()参数必须是字符串、类似字节的对象或数字,而不是'builtin_function_or_method

在Django中,ForeignKey字段用于建立模型之间的关联关系。如果要访问ForeignKey子模型的ID,可以通过在父模型实例上使用子模型的小写名称加上"_id"后缀来访问。

例如,假设有以下两个模型:

代码语言:txt
复制
from django.db import models

class ParentModel(models.Model):
    name = models.CharField(max_length=100)

class ChildModel(models.Model):
    parent = models.ForeignKey(ParentModel, on_delete=models.CASCADE)
    age = models.IntegerField()

要访问ChildModel的ID,可以使用以下方式:

代码语言:txt
复制
parent = ParentModel.objects.get(id=1)
child_id = parent.childmodel_set.first().id

在上面的例子中,我们首先获取了一个ParentModel实例,然后通过childmodel_set属性获取与该父模型相关联的ChildModel对象集合。由于是一对多关系,所以我们使用.first()方法获取第一个ChildModel实例,然后使用.id属性获取其ID。

关于int()函数的参数,它用于将给定的参数转换为整数类型。根据错误信息,它要求参数是字符串、类似字节的对象或数字,而不是'builtin_function_or_method'。这意味着你传递给int()函数的参数应该是一个字符串、字节对象或数字,而不是一个内置函数或方法的引用。

希望这个答案对你有帮助!如果你需要更多关于Django或其他云计算领域的问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SqlAlchemy 2.0 中文文档(十二)

使用自定义表达式意味着我们可以生成不遵循通常主键/外键模型非正统连接条件。其中一个例子实现路径模式,其中我们比较字符串以产生重叠路径标记,以便生成树结构。...要添加涉及A.b关系额外条件,通常需要直接引用B_viacd,不是使用B,特别是在A.b目标实体要转换为别名查询情况下。...要添加涉及 A.b 关系附加条件,通常需要直接引用 B_viacd 不是使用 B,特别是在将 A.b 目标实体转换为别名查询情况下。...要添加涉及 A.b 关系额外条件,通常需要直接引用 B_viacd 不是使用 B,特别是在目标实体 A.b 需要转换为别名查询情况下。...以下使用查询不是连接相同关系示例: subq = select(B).join(D, D.b_id == B.id).join(C, C.id == D.c_id).subquery() B_viacd_subquery

10410

django 字段类型_access数据库类型

(6) IntegerField 整数类型字段,数值范围—2147483648~2147483647. (7) CharField 字符类型,必须提供max_length参数。代表字符最大长度。...有两个必需参数:max_digits数字允许最大位数,此数字必须大于等于decimal_places。decimal_places表示与数字一起存储小数位数。...从-2147483648到2147483647. (17) GenericIPAdressField 字符串格式IPv4和IPv6地址(如:192.0.2.302a02:42fe::4)。...如果需要在尚未定义模型上创建关系,则可以使用模型名称,不是模型对象本身。...(23) ManyToManyField 多对多关系表,需要一个位置参数:与模型相关类,工作原理与ForeignKey完全相同,包括递归和惰性关系。

3.8K30

Python回顾与整理3:数字

>>> anInt = 1 >>> id(anInt) 35934552 >>> anInt += 1 >>> anInt 2 >>> id(anInt) 35934528 (3)删除数字对象 只要数字对象引用计数器为零...---- 3.双精度浮点数 Python中浮点型类似C语言中double类型,双精度浮点型(即长浮点数),每个浮点型占8个字节,即64位,完全遵守IEEE745标准浮点数规范。...地板除 >>> 1 // 2 0 >>> 1.0 // 2.0 0.0 >>> 3 // 2 1         在Python3+版本中,除法已经真正除法了,不是默认地板除,当然,如果确定是要使用地板除...type'> 分别介绍如下: int(obj, base=10):将其他类型数值转换为int类型数值将数值字符串转换为int类型数值 base为进制转换参数,如果数字类型之间转换,则不需要提供这个参数...,否则会引发异常: >>> int(3.0) 3 如果字符串进行转换,则可以提供进制参数,表示要转换字符串原来进制,默认base为10: >>> int('123') 123 >>> int(

1.2K10

Django学习-第七讲:django 中常用字段、字段属性,外键和表关系、外键操作

1. django中常用字段 1. AutoField 映射到数据库中int类型,可以有自动增长特性。一般不需要使用这个类型,如果不指定主键,那么模型会自动生成一个叫做id自动增长主键。...在Python层面就是普通字符串。这个类型在使用时候必须要指定最大长度(max_lenth),也即必须要传递max_length这个关键字参数进去。...比如我们想要在数据库映射时候使用自己指定表名,不是使用模型名称。那么我们可以在Meta类中添加一个db_table属性。...第一个参数引用哪个模型,第二个参数在使用外键引用模型数据被删除了,这个字段该如何处理,比如有CASCADE、SET_NULL等。这里以一个实际案例来说明。...以后通过article.author访问时候,实际上先通过author_id找到对应数据,然后再提取User表中这条数据,形成一个模型

3.9K30

核心编程笔记(14.P

__name__字符串类型函数名字(也可以用udf.func_name) udf.func_code字节编译代码对象 udf.func_defaults默认参数元祖 udf.func_globals...eval()来执行这些对象或者对他们进行求值 compile三个参数必须: 1.代表要编译Python代码 2.字符串,存放代码对象文件名,通常为空 3.字符串,有三个可能值 eval可求值表达式..."作为表达式求值,当进行整数加法后给出返回值300 int()不能接收字符串等非法文字 14.3.4 exec 和eval()相似,exec语句执行代码对象字符串形式python代码,exec语句只接受一个参数...()和raw_input()组合,等价于eval(raw_input()) 类似于raw_input(), input()有一个可选参数,该参数代表了给用户字符串提示,不给定该字符串默认为空 raw_input...(gid)获取/设置现在进程群组ID getsid()/setsid()获取会话ID(SID)创建和返回新SID umask(mask)设置现在数字unmask,同时返回先前那个(mask用于文件许可

62510

python基础教程:内置函数(一)

来查看其对应说明,其中Type就是它类型,可以看到abs一个内置函数builtin_function_or_methodint一个类型type。...如果没有第二个实参,object 必须支持迭代协议(有 iter() 方法)集合对象必须支持序列协议(有 getitem() 方法,且数字参数从 0 开始)。...class float([x]) 返回从数字字符串 x 生成浮点数。 如果实参字符串,则它必须包含十进制数字字符串字符串前面可以有符号,之前也可以有空格。...如果 x 不是数字,或者有 base 参数,x 必须字符串、bytes、表示进制为 base 整数文字 bytearray 实例。...因为它只存储start,stop和step值,在需要时候才计算单独元素范围。 range对象实现了类似listtuple序列特性,比如包含测试,元素索引查找,切片和对负索引支持。

83720

Flask入门第三天

字段类型 Integer:int普通整数,一般32位 SmallInteger:int取值范围小整数,一般16位 BigInteger:intlong不限制精度整数Floatfloat浮点数...Numeric:decimal.Decimal普通整数,一般32位 String:str变长字符串Textstr变长字符串,对较长不限长度字符串做了优化Unicode:unicode变长Unicode...us = db.relationship('User', backref='role') # repr()方法类似于django__str__,用于打印模型对象时显示字符串信息 def...下比如 “/”、“/sample”或者域名 - 在一个应用中,一个模块可以注册多次 - Blueprint可以单独具有自己模板、静态文件或者其它通用操作方法,它并不是必须要实现应用视图和函数...,通过/users/可以访问到蓝图中定义视图函数   2,运行机制 - 蓝图保存了一组将来可以在应用对象上执行操作,注册路由就是一种操作 - 当在应用对象上调用 route 装饰器注册路由时,这个操作将修改对象

2.7K20

4.《python自省指南》学习

#在 dir() 示例中,有一个属性 __doc__ 属性。这个属性一个字符串,它包含了描述对象注释,python称之为文档字符串 docstring。...文档字符串通常包含嵌入换行 \n ,如何要使其变得易读,可以print出来 >>> sys....类似于实际对象,几个计算机对象可能共享共同特征,同时保持它们自己相对较小变异特征。书籍个抽象概念,书店书籍每个物理副本都可能有污迹、几张破损书页唯一标识号。...名称是从对象不是引用该对象变量中派生。模块拥有名称,Python 解释器本身被认为顶级模块主模块。当以交互方式运行 Python 时,局部 name 变量被赋予值 'main' 。...同样地,当从命令行执行 Python 模块,不是将其导入另一个模块时,其 name 属性被赋予值 'main' ,不是该模块实际名称。

64520

Django模型Field Types总结

choices 一个2元元组元组或者列表,如果执行 choices , Django admin 就会使用 选择框不是标准 text 框填写这个 field。...和 OneToOneField要求第一个参数模型类,所以需要使用verbose_name关键字参数,如: poll = models.ForeignKey(Poll, verbose_name=”...18、PositiveIntegerField 正整数0类型,取值范围为[0 ,2147483647] 19、PositiveSmallIntegerField 正短整数0类型,类似于PositiveIntegerField...20、SlugField 只能包含字母,数字,下划线和连字符字符串,通常被用于URLs表示。可选参数max_length=50,prepopulate_from用于指示在admin表单中可选值。...21、SmallIntegerField 小整数字段,类似于IntegerField,取值范围依赖于数据库特性,[-32768 ,32767]取值范围对Django所支持数据库都是安全

91420

SqlAlchemy 2.0 中文文档(三十八)

将此列添加到Table对象需要确保相应数据库表实际上包含此列,因此如果将其添加到现有模型中,则需要对现有数据库表进行迁移(例如使用 ALTER TABLE 类似的操作)以包含此列。...这是另一个必须在此表之前创建或在此表之后删除 Table 对象。 通常,表之间依赖关系通过 ForeignKey 对象确定。...返回值一个 Compiled 对象。对返回值调用 str() unicode() 将产生结果字符串表示。Compiled 对象还可以使用 params 访问器返回绑定参数名称和值字典。...返回值一个Compiled对象。对返回值调用str()unicode()将产生结果字符串表示。Compiled对象还可以使用params访问器返回绑定参数名称和值字典。...返回值一个 Compiled 对象。调用返回值 str() unicode() 方法将产生结果字符串表示。Compiled 对象还可以使用 params 访问器返回绑定参数名称和值字典。

13310

Django之Model世界

_连接起来) 3、创建外键时候 models.ForeignKey(UserType)  ForeignKey参数代表必须在其上面,否则就必须写成字符串形式 from django.db import...注意这个正则表达式只会应用到 base filename 不是路径全名....默认值 False. 是否包括 path 下面的全部子目录. 这三个参数可以同时使用. 我已经告诉过你 match 仅应用于 base filename, 不是路径全名....ImageField 类似 FileField, 不过要校验上传对象是否一个合法图片.它有两个可选参数:height_field 和 width_field,如果提供这两个参数,则图片将按提供高度和宽度规格保存...): user = models.CharField(max_length=32) # 字符串必须字节长度参数) email = models.EmailField(max_length

2.2K20

Django之Model操作数据库详解

,格式必须为逗号分割数字 UUIDField(Field) - 字符串类型,Django Admin以及ModelForm中提供对UUID格式验证 FilePathField(Field) - 字符串...QuerySet惰性执行,创建Query Set不会访问数据库,只有在访问具体查询结果时候才会访问数据库。...表达式可以是简单值、对模型任何关联模型)上字段引用或者聚合表达式(平均值、总和等)。    ...7. values():     values(fields, *expressions)         返回一个包含数据字典queryset,不是模型实例。        ...': 'Linxiao'}]> 8.values_list():     values_list(*fields, flat=False)         与values()类似,只是在迭代时返回元组不是字典

7K10

小白学Flask第十一天| flask-sqlalchemy数据库扩展包(一)

Flask本身不限定数据库选择,你可以选择SQLNOSQL任何一种。也可以选择更方便SQLALchemy,类似于DjangoORM。...位 BigInteger intlong 不限制精度整数 Float float 浮点数 Numeric decimal.Decimal 普通整数,一般32位 String str 变长字符串 Text...role_id = db.Column(db.Integer, db.ForeignKey('role_id')) 添加到user模型role_id列被定义成外键,就是这个外键建立起列关系。...传给db.ForeignKey()参数‘role.id'表明,这列roles表中相应行id值。 从“一”那一端可知,添加到Role模型users属性代表这个关系面向对象视角。...backref参数向User模型中添加一个role属性,从而定义反向关系。通过User实例这个属性可以获得对应Role模型对象不用再通过role_id外键获取。

2.6K30

django 1.8 官方文档翻译: 2-1-1 模型语法(初稿)

另见 ForeignKey 字段还可以接受别的参数,它们都是可选,在 model 字段参考(the model field reference) 有详细介绍。这些选项定义了关系如何工作。...所以,model 方法应该作用于 model 类实例(也就是说,在实例对象上使用 model 方法,不是在类上直接使用)。 最好只在一个地方(就是在 model 中)保存商业逻辑。...当某个对象被要强制转换成字符串,或是要做为字符串显示时,Python 和 Django 就会调用该方法。最典型,在命令行管理后台中显示对象,就会用到 unicode() 方法。...小心使用 related_name 如果你在 ForeignKey ManyToManyField 字段上使用 related_name 属性,你必须总是为该字段指定一个唯一反向名称。...(这与使用抽象基类情况正好相反,因为抽象基类并没有属于它自己内容) 所以 model 并不能访问它父类 Meta 内嵌类。

3.1K30
领券