我试图发送一个帖子请求添加一个‘订阅’到我的数据库。邮件请求通过时没有出错。
我正在发这个
{
"email":"email@app.com","campaign":1
}
,它返回
{
"id": 2,
"email": "email@app.com",
"created_at": "2022-08-02T19:49:55.509018Z",
"updated_at": "2022-08-02T19:49:55.509018Z",
"campaign": 1
}
ID为2,因为这是我制作的的第二篇文章
这是我的订户类
class Subscriber(models.Model):
campaign = models.ForeignKey(to = Campaign, on_delete=models.CASCADE)
email = models.EmailField(max_length=254)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
ordering=('-created_at',)
def __str__(self):
return self.title()
*这些是我现在的Serializers.py***
class CampaignSerializer(serializers.ModelSerializer):
class Meta:
model = Campaign
fields = "__all__"
class SubscriberSerializer(serializers.ModelSerializer):
class Meta:
model = Subscriber
fields = "__all__"
当我到管理面板/admin并单击我的订阅服务器时,也就是我收到错误的时候
/admin/ AttributeError /订户/“订阅者”对象没有属性“title”
我无法查看发布的信息。
如果我删除
def __str__(self):
return self.title()
但是,在我的订阅者类中,它可以作为订阅者对象(1)显示在数据库中,而不是电子邮件名
所以,
吗?
def __str__(self):
return self.title()
我的订户班吗?
发布于 2022-08-02 12:41:14
订阅服务器没有title
字段或属性,因此出现了错误。您需要返回它的属性之一或活动的属性(它确实具有title
属性),例如:
def __str__(self):
return self.email
# or
def __str__(self):
return self.campaign.title
https://stackoverflow.com/questions/73213191
复制