Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2015 13:05:44

dezinfo
Зарегистрирован: 2015-05-23
Сообщения: 52
Репутация: +  0  -
Профиль   Отправить e-mail  

Выборка из нескольких моделей

Нужен совет как реализовывать выборки из нескольких моделей.

Есть модель:

class Article(models.Model):
    title = models.CharField(max_length=100,verbose_name='Заголовок')
    description = models.TextField(null=True,verbose_name='Описание')
    user = models.ForeignKey(User,max_length=100,verbose_name='Пользователь')
class UserProfile(models.Model):
    user = models.ForeignKey(User,max_length=100,verbose_name='Пользователь')
    name = models.CharField(verbose_name='Имя',max_length=30)
    lastname = models.CharField(verbose_name='Фамилия',max_length=50)
    city = models.CharField(verbose_name='Город',max_length=50)

Необходимо в шаблон вернуть все строки из Article и дополнительно поле Город (city) из профиля(UserProfile) для пользователя user модели Article

Отредактировано dezinfo (Авг. 19, 2015 13:10:54)

Офлайн

#2 Авг. 19, 2015 16:48:20

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

Выборка из нескольких моделей

class Base(ListView):
    model = UserProfile
    template_name = 'other/base.html'
    def get(self, request, *args, **kwargs):
        tree = UserProfile.objects.all()
        for i in tree:
            print i.city
        print tree
        return render(request, self.template_name, {'nodes': tree})

gorod

“GET / HTTP/1.1” 200 12

Офлайн

#3 Авг. 19, 2015 16:50:36

skripka696
Зарегистрирован: 2015-04-10
Сообщения: 42
Репутация: +  1  -
Профиль   Отправить e-mail  

Выборка из нескольких моделей

dezinfo

class Base(ListView):
    model = UserProfile, Article
    template_name = 'other/base.html'
    def get(self, request, *args, **kwargs):
        article = Article.objects.all()
        tree = UserProfile.objects.all()
        for k in article:
            print k.title
        for i in tree:
            print i.city
        print tree
        return render(request, self.template_name, {'nodes': tree})

System check identified no issues (0 silenced).
August 19, 2015 - 13:49:55
Django version 1.8.4, using settings ‘art.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
jhello
gorod

“GET / HTTP/1.1” 200 12


и выводите что хотите)))

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version