Найти - Пользователи
Полная версия: Правильная выборка
Начало » Django » Правильная выборка
1
Mutagena
Пожалуйста, помогите с правильной выборкой.

Модель:
class FSite(models.Model):
name = models.CharField(max_length=50)
url = models.URLField(unique=True)
description = models.TextField()
rss_feed = models.URLField(unique=True)
favicon = models.ImageField(upload_to='favicons/')

def __unicode__(self):
return self.name

class MetaCategory(models.Model):
f_site = models.ForeignKey(FSite)
meta_category = models.CharField(max_length=50)

def __unicode__(self):
return self.meta_category

class Category(models.Model):
meta = models.ForeignKey(MetaCategory)
category = models.CharField(max_length=70)

def __unicode__(self):
return self.category
Нужно выбрать одну категорию по соответствию со строками category и f_site. Следующий код не работает.
category_object = Category.objects.get(category=category, meta__f_site__name=freelance_site)
Подскажите как правильно.
Ed
Как именно не работает? Ошибку покажите.
Mutagena
Traceback:
File “C:\Python26\lib\site-packages\django\core\handlers\base.py” in get_response
92. response = callback(request, *callback_args, **callback_kwargs)
File “C:\Documents and Settings\Istergul\workspace\freeparse\..\freeparse\web\views.py” in test
139. meta__freelance_site__name=freelance_site)
File “C:\Python26\lib\site-packages\django\db\models\manager.py” in get
120. return self.get_query_set().get(*args, **kwargs)
File “C:\Python26\lib\site-packages\django\db\models\query.py” in get
300. num = len(clone)
File “C:\Python26\lib\site-packages\django\db\models\query.py” in __len__
81. self._result_cache = list(self.iterator())
File “C:\Python26\lib\site-packages\django\db\models\query.py” in iterator
238. for row in self.query.results_iter():
File “C:\Python26\lib\site-packages\django\db\models\sql\query.py” in results_iter
287. for rows in self.execute_sql(MULTI):
File “C:\Python26\lib\site-packages\django\db\models\sql\query.py” in execute_sql
2369. cursor.execute(sql, params)
File “C:\Python26\lib\site-packages\django\db\backends\util.py” in execute
19. return self.cursor.execute(sql, params)

Exception Type: ProgrammingError at /test/
Exception Value: can't adapt
Ed
category и freelance_site какого типа?
Mutagena
Проблему решила )
Александр Кошелев
Mutagena
как?
Mutagena
try:
category_object = Category.objects.get(site_category__freelance_site=freelance_site,
site_category__site_category=category)
...
except Category.DoesNotExist:
...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB