为什么这个Django查询返回一个元组而不是对象?

伊万·弗洛雷斯·巴斯克斯(Ivan Flores Vazquez)

我正在做一个项目,发现一个对我没有意义的错误。在这些行中:

customer = Customer.objects.get_or_create(phone=from_number)
store = Store.objects.get(phone=to_number)
logging.info("CUSTOMER TYPE: {}".format(type(customer)))
logging.info("STORE TYPE: {}".format(type(customer)))

在日志中,客户类型为CUSTOMER TYPE: <class 'tuple'>,但商店类型为STORE TYPE: <class 'orders.models.Store'>

这两个类都在同一个项目和应用中,都以相同的方式包含在(from orders.models import Customer, Store)中

如果有帮助,这些类别是:

class Customer(models.Model):
    name = models.CharField(max_length=200, verbose_name="Nombre")
    phone = models.CharField(max_length=13, verbose_name="Teléfono")
    last_location = models.CharField(max_length=200, verbose_name="Ultima ubicación")

    def __str__(self):
        return self.name


class Store(models.Model):
    service_hours = models.ForeignKey(ServiceHours, related_name="stores", on_delete=models.PROTECT)
    name = models.CharField(max_length=100, verbose_name="Nombre")
    phone = models.CharField(max_length=13, verbose_name="Celular")
    enabled = models.CharField(max_length=200)
    address = models.CharField(max_length=200, verbose_name="Dirección")
    dialogflow_id_project = models.CharField(max_length=30, blank=False, null=False, default='pedidoswhatsapp-hcujca')
    file_settings_name = models.CharField(max_length=30, blank=False, null=False, default='pedidos_dialogflow.json')

    def __str__(self):
        return self.name

我不明白代码如何将客户视为元组。任何帮助都将非常有帮助。

威廉·范昂塞姆

因为.get_or_create(…)[Django-doc] 总是返回2元组。一个2元组,其中第一个包含所获得(或构造)的对象,第二个为指示是否已创建的布尔值。在文档中将其指定为:

返回的元组(object, created),其中object是检索到的对象或创建的对象,并且created是一个布尔值,指定是否创建了新对象

例如,您可以使用迭代拆包来摆脱第二个布尔值:

customer, __ = Customer.objects.get_or_create(phone=from_number)

.get(…)另一方面,[Django-doc]仅返回对象(如果查询返回零或一个以上元素,则会引发错误)。同样也不需要返回布尔值,因为.get(…)如果不存在则不会创建对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这个 group_by / count 查询返回一个元组数组?

来自分类Dev

为什么这个承诺返回一个[object Promise]而不是值?

来自分类Dev

为什么ruby返回一个对象而不是整个对象的值?

来自分类Dev

为什么这个函数返回一个空数组?

来自分类Dev

为什么Django模型会执行许多小的查询而不是一个大查询?

来自分类Dev

为什么这个 javascript 函数为同一个查询返回两个不同的结果?

来自分类Dev

为什么执行2个查询而不是一个?

来自分类Dev

泛型:为什么实现的集合返回一个对象而不是指定的类型?

来自分类Dev

泛型:为什么实现的集合返回一个对象而不是指定的类型?

来自分类Dev

为什么这个函数在初始化两个对象时只返回一个?

来自分类Dev

为什么带有$ count = true的OData查询返回一个对象?

来自分类Dev

为什么Rails中的“ where”查询返回一个不同的对象?

来自分类Dev

为什么这个数组的最后一个元素被拼接而不是中间的一个?

来自分类Dev

为什么将 Python dict 转换为元组会返回一个键元组?

来自分类Dev

为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

来自分类Dev

为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

来自分类Dev

为什么require(“ angular”)返回一个空对象

来自分类Dev

为什么str + Markup返回一个Markup对象?

来自分类Dev

初学者休眠:为什么我的休眠查询只返回一个结果而不是列表?

来自分类Dev

Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

来自分类Dev

为什么print()打印一个空的元组而不是换行符?

来自分类Dev

为什么此生成器返回一个函数而不是一个值

来自分类Dev

为什么绑定到我的课不是工作的一个实例this.DataContext =这个时

来自分类Dev

JS为什么说这个功能不是一个功能

来自分类Dev

为什么Mongodb创建一个ObjectsId数组而不是一个简单的对象数组?

来自分类Dev

为什么python all()函数对一个元组返回true?

来自分类Dev

为什么 / 在 IPython 控制台中返回一个空元组

来自分类Dev

为什么在Django模型图像中,Media.url返回一个空字符串,而不是图像链接?

来自分类Dev

为什么这个PHP / mySQL查询给我一个错误?

Related 相关文章

  1. 1

    为什么这个 group_by / count 查询返回一个元组数组?

  2. 2

    为什么这个承诺返回一个[object Promise]而不是值?

  3. 3

    为什么ruby返回一个对象而不是整个对象的值?

  4. 4

    为什么这个函数返回一个空数组?

  5. 5

    为什么Django模型会执行许多小的查询而不是一个大查询?

  6. 6

    为什么这个 javascript 函数为同一个查询返回两个不同的结果?

  7. 7

    为什么执行2个查询而不是一个?

  8. 8

    泛型:为什么实现的集合返回一个对象而不是指定的类型?

  9. 9

    泛型:为什么实现的集合返回一个对象而不是指定的类型?

  10. 10

    为什么这个函数在初始化两个对象时只返回一个?

  11. 11

    为什么带有$ count = true的OData查询返回一个对象?

  12. 12

    为什么Rails中的“ where”查询返回一个不同的对象?

  13. 13

    为什么这个数组的最后一个元素被拼接而不是中间的一个?

  14. 14

    为什么将 Python dict 转换为元组会返回一个键元组?

  15. 15

    为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

  16. 16

    为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

  17. 17

    为什么require(“ angular”)返回一个空对象

  18. 18

    为什么str + Markup返回一个Markup对象?

  19. 19

    初学者休眠:为什么我的休眠查询只返回一个结果而不是列表?

  20. 20

    Python:为什么str.split()返回一个列表,而str.partition()返回一个元组?

  21. 21

    为什么print()打印一个空的元组而不是换行符?

  22. 22

    为什么此生成器返回一个函数而不是一个值

  23. 23

    为什么绑定到我的课不是工作的一个实例this.DataContext =这个时

  24. 24

    JS为什么说这个功能不是一个功能

  25. 25

    为什么Mongodb创建一个ObjectsId数组而不是一个简单的对象数组?

  26. 26

    为什么python all()函数对一个元组返回true?

  27. 27

    为什么 / 在 IPython 控制台中返回一个空元组

  28. 28

    为什么在Django模型图像中,Media.url返回一个空字符串,而不是图像链接?

  29. 29

    为什么这个PHP / mySQL查询给我一个错误?

热门标签

归档