Django получить логин авторизованного пользователя и передать его моделям - PullRequest
1 голос
/ 28 мая 2020

Я создаю проект в django, в котором у меня есть два пользователя diff, то есть клиенты и рестораны. Я создаю модель для меню, в которую я хочу добавить имя пользователя, вошедшего в систему, в название ресторана в моделях. Есть какой-либо способ сделать это. Я просмотрел net, получил ответы, такие как внешний ключ, но не смог реализовать. Также мне нужно имя пользователя в представлениях для поиска в базе данных по имени пользователя. Models.py

class menu_details(models.Model):
    restaurant_name = models.CharField(blank=True, max_length=20)
    dish_name = models.CharField(blank=True, max_length=20)
    dish_type = models.CharField(max_length=10, choices=food_type, default='veg')
    price = models.CharField(blank=True, max_length=20)
    description = models.TextField(blank=True, max_length=5000)
    image = models.ImageField0(blank=True)

    class Meta:
        db_table = "menu_details"

1 Ответ

2 голосов
/ 28 мая 2020

Если вы хотите, чтобы имя пользователя уже вошедшего в систему пользователя в представлении, вы можете использовать объект пользователя из запроса:

from .models import menu_details


def my_view(request):
    if request.user.is_authenticated:
        user = request.user # user object from the person who is visiting
        username = user.username # username of logged in user
        menu_details.objects.filter(restaurant_name=username) # getting the menu using restaurant    

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...