[英]How to return username instead of user object in DRF?
I want to set a username for each object.我想为每个 object 设置一个用户名。 Here is my models.py
这是我的models.py
from django.contrib.auth.models import User
from django.conf import settings
# Tweet Model
class TweetModel(models.Model):
text = models.TextField(max_length=300, blank=False)
created_at = models.DateTimeField(auto_now_add=True)
owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, blank=True)
username = models.CharField(max_length=100, blank=True)
And viewset.py和 viewset.py
from .models import TweetModel
from rest_framework import viewsets, permissions
# TweetViewset
class TweetViewset(viewsets.ModelViewSet):
permission_classes = [
permissions.IsAuthenticated
]
serializer_class = TweetSerializer
def get_queryset(self):
ordered = TweetModel.objects.order_by('-created_at')
return ordered
def perform_create(self, serializer):
serializer.save(owner=self.request.user, username=self.request.user.username)
But it is not working.但它不起作用。 Error is
错误是
django.db.utils.ProgrammingError: column tweets_tweetmodel.username does not exist
LINE 1: ...el"."created_at", "tweets_tweetmodel"."owner_id", "tweets_tw...
Can you help, please?你能帮忙吗?
I forgot to run makemigrations
and migrate
我忘了运行
makemigrations
和migrate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.