Python 数据必须像查询集一样

Python 数据必须像查询集一样,python,django,django-tables2,Python,Django,Django Tables2,我正在使用Django的外部数据库。我已经编写了一个脚本来填充数据库。我可以使用syncdb访问这些数据,并且我已经为这些数据创建了一个模型 我可以打印整个数据库,但使用: TicketOdds.objects.all()[0] 引发以下异常: 值错误在/ 数据必须是查询集(具有计数和排序依据)或支持列表(数据)——ticketods两者都没有 我的模型是: class TicketOdds(models.Model): #id = models.AutoField(primary_

我正在使用Django的外部数据库。我已经编写了一个脚本来填充数据库。我可以使用syncdb访问这些数据,并且我已经为这些数据创建了一个模型

我可以打印整个数据库,但使用:

 TicketOdds.objects.all()[0]
引发以下异常:

值错误在/

数据必须是查询集(具有计数和排序依据)或支持列表(数据)——ticketods两者都没有

我的模型是:

class TicketOdds(models.Model):
    #id = models.AutoField(primary_key=True)
    price = models.IntegerField(blank=True, null=True)
    ticket_name = models.TextField(blank=True, null=True)
    ticket_id = models.IntegerField(primary_key=True, blank=True, null=False)
    odds = models.FloatField(blank=True, null=True)
    img_url = models.TextField(blank=True, null=True)
    ticket_url = models.TextField(blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'ticket_odds'

    def __iter__(self):
        for i in xrange(100):
            yield i

    def __getitem__(self):
        return unicode(self)
我应该向模型中添加什么使其成为“queryset-like”?我试着加上

def __iter__ (self):
为了这个特定的目的。。。
我一定是遗漏了什么。

因为您没有发布完整的回溯错误消息。我将指导您回答问题的过程

  • 看这张照片。当
    表格data(data,table)
    中的
    数据
    不可编辑时,会产生这样的错误。i、 e.
    \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
    未定义
  • 我怀疑您是否需要在
    Model
    Model.Meta
    中定义
    \uuu iter\uuuu
    方法,因为当您进行此调用时,可以检索哪个类是iterable类:
    ticketods.objects.all()
  • 在制作
    表格数据(数据,表格)
  • 例如:

    TableData(TicketOdds.objects.all(), table)
    
    我应该向模型中添加什么使其成为“queryset-like”


    您不会使您的模型“queryset-like”,而是从使用上述示例的模型中获得
    queryset

    首先,我以前从未见过任何类似的模式。我还没有使用django-tables2。这可能只是一个部分答案或不正确的答案,但我希望你可以尝试一下,让我们知道它是否有效。超级noob问题。。。如何获取回溯错误消息?manage.py shell?通常在
    DEBUG=True
    时,他们会将任何错误请求打印到页面本身的“黄色”彩色页面中。其中一条打印信息是“回溯”部分。从我所看到的情况来看,您已经成功地将数据库中的所有值(
    .all()
    )与
    TableData()
    )一起使用,但是您一直在尝试向其传递单个对象(
    .all()[0]
    ),这导致了该错误。你想达到什么目标?