0
Django 1.11を使用しています。私は自分のビューで参照しているuuidに固執しています。 私はここでよく似た質問をすべて読んだが、フォームやその他のものに重点を置いている。モデルオブジェクトには 'get'という属性はありません
最小限の例
それはMegaTestと呼ばれるアプリです。
AttributeError at /testuuid/5a147a14-a9a9-4045-8e79-0ce2e8258a68/
'MegaTest' object has no attribute 'get'
models.py
:私が私のインデックスページ上のリンクをクリックすると、私が手/testuuid/<uuid>
へのリンクを生成するワーキングインデックスビューを持っている/testuuid/
にバインドされます
class MegaTest(models.Model):
uuid = models.UUIDField(db_index=True, default=uuid.uuid4,
editable=False, unique=True)
name = models.CharField(max_length=128, blank=True, null=True)
views.py
class IndexView(generic.ListView):
template_name = 'testuuid/index.html'
context_object_name = 'test_list'
def get_queryset(self):
"""Return the last five published questions."""
return MegaTest.objects.all()
class MegaTestDetailView(generic.DetailView):
model = MegaTest
def get(self, request, uuid):
try:
megatest = MegaTest.objects.get(uuid=uuid)
return megatest
except MegaTest.DoesNotExist:
raise Http404
urls.py
app_name = 'testuuid'
urlpatterns = [
# ex: /polls/
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<uuid>[\w-]+)/$', views.MegaTestDetailView.as_view(), name='detail'),
]
testuuid/index.htmlを
{% if test_list %}
<ul>
{% for test in test_list %}
<li>
<a href="{% url 'testuuid:detail' test.uuid %}">{{ test.name }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No tests available.</p>
{% endif %}
私は気単純なミスを想定したが、私は本当にこの時点では見当もつかない。
完全なトレースバック
は、あなたが代わりにget()
の
get_object()
メソッドをオーバーライドする必要があり、ここで
http://dpaste.com/3JTB5NZ