Je produis une application web en Django
qui stocke et trie des cours. Le problème que je rencontre est que l'ensemble de requêtes ne reconnaît pas le modèle. J'ai réussi à tout tirer dans une vue basée sur la classe et à faire des bêtises avec les données, cependant, quand j'essaie de faire un ensemble de requêtes, je dis simplement que le modèle "Course" n'est pas défini. J'ai importé le modèle suivant:Le modèle de queryset de vues basées sur la classe Django n'est pas défini
class Course(models.Model):
provider = models.ForeignKey(Provider)
title = models.CharField('Course Title',
max_length=200,
)
first_line = models.CharField('Address Line: 1',
max_length=200,
)
second_line = models.CharField('Address Line: 2',
max_length=200,
)
third_line = models.CharField('Address Line: 3',
max_length=200,
)
city = models.CharField('City',
max_length=200,
)
post_code = models.CharField('Post Code',
max_length=200,
)
course_description = models.TextField('Description')
date = models.DateField('Date')
start_time = models.TimeField('Starting time')
finish_time = models.TimeField('Finishing time')
duration = models.IntegerField('Number of hours')
CPD = models.IntegerField('CPD points')
link = models.CharField('Link', max_length=200)
category = models.ForeignKey(Categories)
gen_cat = models.ForeignKey(Gen_Categories)
location = models.ForeignKey(Gen_Location)
cost = models.FloatField('Cost')
Et je la vue à base de classe suivante. Les fonctions qui sont là comme date_screen()
ont été écrites dans un autre fichier et importées, elles fonctionnent dans mes vues basées sur les fonctions. Le problème est qu'il ne cesse de dire que Course
n'est pas défini. Si vous trouvez quelque chose d'autre qui ne va pas dans la vue en classe, n'hésitez pas à m'en faire part. Je peux développer une vue basée sur la classe qui tire toutes les données, mais toute nuance est un tour de tête pour le moment.
class Courses_By_Location(ListView):
template_name = 'courses/course_list.html'
model = Course
def get_queryset(self):
self.Course = get_object_or_404(Course, name=self.args[0].order_by('date'))
raw_courses = Course.objects.filter(location=self.location)
courses = date_screen(raw_courses)
categories = category_screen(courses)
locations = location_screen(courses)
def get_context_data(self, **kwargs):
context = super(searchView, self).get_context_data(**kwargs)
context.update({'locations': self.locations,
'categories': self.categories,
'courses': self.courses,
'count': self.count,})
return context
Si vous pouviez publier la vue basée sur la fonction de travail, il est plus probable que je puisse trouver une solution. – Matt
Merci pour votre contribution. J'ai pris l'autre réponse car il a complètement réécrit la vue et cela fonctionne si bien et est très clair. Encore merci d'avoir pris le temps de m'aider. – max89