Не создал модель для таблицы user. Является ли она обязательной для таблицы order?
Я новичок в django и делаю свой первый сайт по доставке еды. Я не создал никакой модели для таблицы user auth, но создал модель для таблицы menu. теперь я хочу создать модель для таблицы order, где я хочу держать и menu id и user id как внешний ключ. возможно ли это каким-либо образом или я должен создать модель и для таблицы user?
django уже имеет готовую модель пользователя, вы можете использовать ее следующим образом:
#first import the user model
from django.contrib.auth.models import User
# then add it as a ForeignKey
class Order(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
menu = models.ForeignKey(Menu,on_delete=models.CASCADE)
Привет и добро пожаловать на Stack OverFlow.
Если вы начинаете новый проект, лучше наследовать AbstractUser и использовать пользовательскую модель пользователя. Так будет легче настроить вашу модель пользователя, например, добавить поля, методы, настроить Django admin и т.д.
Полная ссылка здесь: https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#using-a-custom-user-model-when-starting-a-project
Для этого вам придется создать пользовательскую модель пользователя и указать AUTH_USER_MODEL на модель.
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
pass
Тогда в settings.py (Предполагая, что модель пользователя находится в user_app app:
AUTH_USER_MODEL="user_app.user"