在模型表单中添加用户名或任何用户身份验证相关字段,如名字、姓氏等

Add username or any user authentication related field like first name, last name etc in model forms

我正在 django 中创建一个项目,其中我有两个 diff 用户,即客户和餐馆。 我正在为菜单创建一个模型,我想在其中直接添加以在模型中添加餐厅名称(在本例中为用户名),而不是如果可能的话每隔 time.Also 获取输入彻底的表格,如果可以从另一个字段中获取名称,就像这样是登录系统的一部分?

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"

如果我很清楚你想要什么,我认为你需要一个指向用户信息的外键字段。

field_name= models.ForeignKey(User, help_text="", blank=True, null=True, on_delete=models.CASCADE)

然后您可以在视图中访问来自用户实例的所有数据,例如:

this_menu = menu_details.objects.get(pk=1)

restaurant_name = this_menu.field_name.first_name
restaurant_email = this_menu.field_name.email

或在模板中:

{{ this_menu.field_name.first_name }}
{{ this_menu.field_name.email}}