Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 7, 2010 17:04:15

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Правильная выборка

Пожалуйста, помогите с правильной выборкой.

Модель:

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)
Подскажите как правильно.



Офлайн

#2 Фев. 7, 2010 21:06:26

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Правильная выборка

Как именно не работает? Ошибку покажите.



Офлайн

#3 Фев. 7, 2010 21:40:24

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Правильная выборка

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



Офлайн

#4 Фев. 8, 2010 00:12:19

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Правильная выборка

category и freelance_site какого типа?



Офлайн

#5 Фев. 8, 2010 19:52:25

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Правильная выборка

Проблему решила )



Офлайн

#6 Фев. 9, 2010 11:40:24

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Правильная выборка

Mutagena
как?



Офлайн

#7 Фев. 9, 2010 12:24:36

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Правильная выборка

try:
category_object = Category.objects.get(site_category__freelance_site=freelance_site,
site_category__site_category=category)
...
except Category.DoesNotExist:
...



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version