Найти - Пользователи
Полная версия: Вопрос по моделям
Начало » Django » Вопрос по моделям
1 2
quix
Есть модели
class Profile(models.Model):
	avatar = models.ImageField(upload_to="avatars", null=True)
	avatar_thumbnail = ImageSpecField(source = "avatar",
		processors = [ResizeToFill(100, 50)],
		format = "JPEG",
		options = {"quality": 60})
	def __unicode__(self):
		return "%s" % self.avatar

class Persson(models.Model):
	...
        person_avatar = models.OneToOneField(Profile, blank = True)

class Article(models.Model):
	...
	author      = models.ManyToManyField(Persson)   # много статей имеют много авторов 
 	

Появилась проблемма -
1 - Создаю статью “О кино” автор “Михалков” аватврка “mihalkov.jpeg”. - отображается
2 - Создаю статью “Про цветы” автор “Цветков” аватврка “romashka.jpeg” - отображается
3 - Создаю статью “О пчелах” автор “Михалков” - error
Profile matching query does not exist.
Задача - Михалкова подружить со статьей “О пчелах”

Дополню…
4 - Создаю автора “Лужков” аватарка “romashka.jpeg” назначаю его автором статьи “О пчелах” - error
5 - Меняю автору “Лужков” аватарку на “lujkov.jpeg” - отображается

FishHook
Вы запросы показать не желаете?
quix
FishHook
Вы запросы показать не желаете?
urls.py

urlpatterns = [
	url( r'^articles/$',                     ArticlesVifania.as_view()    ),				
	url( r'^article/(?P<pk>\d+)/$',          ArticleDetail.as_view()      ),
	
]

если я вас правильно понял
FishHook
Вы меня неправильно поняли.
Вы показали модели.
Ну, зашибись, чо.
Ошибки то откуда возникают? Не из самих же моделей, не по факту их существования.
Ошибки возникают, когда вы делаете запросы к БД, посредством ОРМ Джанги.
Вопрос: и где запросы то?
Гадать по фотографии идите к гадалке
quix
FishHook
.Ошибки возникают, когда вы делаете запросы к БД, посредством ОРМ Джанги.Вопрос: и где запросы то?Гадать по фотографии идите к гадалке
Разжевали и в рот положили - спс!
class ArticleDetail(DetailView):
	model =  Article
	template_name 		= "blog/article_detail.html"
	context_object_name = "articledetail"
		
	
	def get_context_data(self, **kwargs):
	    context = super(ArticleDetail, self).get_context_data(**kwargs)
	    context["ph"] = Profile.objects.get(id = self.kwargs["pk"])
	    context["art_photo"] = PhotoGroup.objects.filter( article__id = self.kwargs["pk"])
	    
   	    return context

quix
Думаю, что опять надобно подключать цепочки фильтраций + жуткий вложенный цикл фор в шаблонах….

Как???? Жжжжуть!!!

FishHook
self.kwargs["pk"]
Это первичный ключ чего? Представление у вас называется ArticleView, модель в перставлении декларативно указана - Article. Воспользовавшись дедукцией, я делаю вывод, что pk передающийся в представление - это pk таблицы Article, а вы по этому ключу почему-то пытаетесь получить запись из таблицы Profile.
quix
FishHook
self.kwargs
Да это “pk” статьи
quix
context = Profile.objects.get(id = self.kwargs)
да, это логическая ошибка.
quix
Сформировал задачу на языке человека
вот код:

выбрать объект(ы) класса Profile, который имеет отношение с объектами Persson, которые имеют отношение со статьей,
id которой равно значению “pk”


quix
Подскажите пожалуйста, как оформлять фильтры если связей две или более
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