2017-07-22 50 views
1

我是一个初学者,试图查看具有两条记录的基本查询集。我无法处理请求。寻找一些帮助。django modelsTypeError:不支持解码str

class TestVenue(models.Model): 
    venue_name  = models.CharField(max_length=40) 
    venue_city  = models.CharField(max_length=20, null=True, blank=True) 
    venue_province = models.CharField(max_length=20, null=True, blank=True) 
    venue_shortcode = models.CharField(max_length=20, null=True, blank=True) 
    timestamp  = models.DateTimeField(auto_now_add=True) 
    update   = models.DateTimeField(auto_now=True) 
    my_date_field = models.DateField(auto_now=False, auto_now_add=False) 

    def __str__(self): 
     return self.venue_name 

我views.py是我想看到我的查询集的壳很简单

def venues_listview(request): 
    template_name = 'venues_list.html' 
    queryset = TestVenue.objects.all() 
    context = { 
     "object_list": queryset 
     } 
    return render(request, template_name, context) 

,但我得到了以下错误:

>>> from venues.models import TestVenue 
>>> TestVenue.object.all() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
AttributeError: type object 'TestVenue' has no attribute 'object' 
>>> TestVenue.objects.all() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "C:\users\frank\desktop\test_env\lib\site-packages\django\db\models\query.py", line 229, in __repr__ 
    return '<%s %r>' % (self.__class__.__name__, data) 
    File "C:\users\frank\desktop\test_env\lib\site-packages\django\db\models\base.py", line 589, in __repr__ 
    u = six.text_type(self) 
    File "C:\users\frank\desktop\test_env\src\venues\models.py", line 14, in __str__ 
    #   return self.venue_name 
TypeError: decoding str is not supported 
+0

你的python版本是什么? – Exprator

回答

1

你的错误是在这条线,

TestVenue.object.all() 

It shou LD是,

TestVenue.objects.all() 

objects是调用默认的经理,而不是object属性。

+0

没有解决 >>> TestVenue.objects.all() 回溯(最近通话最后一个): 文件 “”,1号线,在 文件“C:\用户\坦率\桌面\ test_env \ LIB \ site_packages \ django \ db \ models \ query.py“,第229行,在__repr__ 返回'<%s %r>'%(self .__ class __.__ name__,data) 文件”C:\ users \ frank \ desktop \ test_env \ lib \ site-packages \ django \ db \ models \ base.py“,第589行,在__repr__ u = six.text_type(self) 文件”C:\ users \ frank \ desktop \ test_env \ src \ venues \ models。 py“,第14行,在__str__中 #return self.venue_name TypeError:不支持解码str –

+0

我是使用python 3.4 –

+0

你运行'makemigrations'和'migrate'吗? – zaidfazil

0

我重新启动了电脑,现在它正在工作。我曾尝试启动和停止服务器,但尚未解决问题。谢谢您的帮助。

+0

接受你的答案更清楚,它已经消失。 – hynekcer

相关问题