2016-04-05 28 views
0

Bir açıklama ve bir yabancı anahtar içeren bir Soru modeli tanımladım.Model tanımlı değil

class Question(models.Model): 
    user = models.ForeignKey(
     User, 
     verbose_name="User", 
     default=None 
    ) 

    description = models.CharField(
     max_length=60, 
     #verbose_name=_("Description"), 
    ) 

Bundan sonra, geçişleri çalıştırdım.

Sonra views.py ben bu modelin nesneleri erişen bir yöntem oluşturdu:

def own_questions(request): 
    questions = Question.objects() 
    return JsonResponse(questions) 

Sorun /questions Bu yönteme tekabül URL eriştiklerinde, ben elde ediyoruz:

NameError at /questions/ 
global name 'Question' is not defined 

Bu neden oluyor? Eğer içine

from .models import Question

ithal değil Muhtemelen çünkü

cevap

2

:

from app.models import Question 

Ayrıca questions = Question.objects sadece vermek sen queryset yöneticisi ve sen buna cevap veremezsin, bunun yerine tüm sorulara ihtiyacın var :

questions = Question.objects.all() 

Düzenleme:

yüzden burada Django doc yaklaşık how to write ORM for queries, sen modeli Question gelen sorgulamak için çalışıyoruz ne düşünmemelidir.

+0

Yöntemin own_questions olduğu göz önüne alındığında, OP'nin gerçekten de Question.objects.filter (user = request.user) olmasını istediğini tahmin ediyorum (muhtemelen oturum açmayan kullanıcılarla ilgilenmek için bazı ekstra kodlarla birlikte) – Foon