这里是 Django、Django rest_framework 和 Djoser 的新手。
我正在构建您可以认为是一个简单的购物应用程序的后端(想想这个上的咖啡店)。目前,我在一个名为的应用程序中有一个自定义 User 模型authapp
,在另一个名为apiapp
. 我的目标是允许 User 对象拥有 0 无限数量的 Coffee 对象作为他们的购物车,并让该数据显示在用户端点中。
目前,我的用户模型如下所示models.py
:
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
email = models.EmailField(verbose_name='email', max_length=255, unique=True)
phone = models.CharField(null=True, max_length=255)
coffees = models.ManyToManyField("apiapp.Coffee", verbose_name="coffee")
REQUIRED_FIELDS = ['username', 'phone', 'first_name', 'last_name']
USERNAME_FIELD = 'email'
def get_username(self):
return self.email
在serializers.py
中,我有:
from djoser.serializers import UserCreateSerializer, UserSerializer
from rest_framework import serializers
from .models import *
# Create your serializers here
class UserCreateSerializer(UserCreateSerializer):
class Meta(UserCreateSerializer.Meta):
model = User
field = ['id', 'email', 'username', 'password', 'first_name', 'last_name', 'phone', 'coffee']
在管理仪表板中,我目前在编辑用户对象时看到了这一点(看起来您可以选择和取消选择我创建的任何/所有咖啡对象):
在所有用户端点,这就是我所看到的(它缺少咖啡对象数组):
这一切都给我留下了两个问题。
- 如何实现列表类型功能以在用户中保存 Coffee 项目?我希望能够添加尽可能多或尽可能少的一个 Coffee 对象。
- 如何使用 serializer.py 类在用户端点中显示咖啡对象数组?目前,