python的title函数_“title”是此函数的无效关键字参数

在更新模型和序列化程序之后,我无法将新文章保存到数据库中。我一直得到“'title'是这个函数的无效关键字参数。”

我正在研究Postgres10、Python3.6、Django2.0和drf3.8.2。在

我丢了我的数据库几次,但错误仍然存在。拜托,我需要你的帮助。提前谢谢。在

这是我的旧模型的副本class Article(models.Model):

title = models.CharField(max_length=200, blank=False)

slug = models.SlugField(max_length=250, unique_for_date='created')

body = models.TextField()

image_url = models.URLField(max_length=255)

author = models.ForeignKey(User, on_delete=models.CASCADE)

created = models.DateTimeField(auto_now_add = True)

published = models.DateTimeField(auto_now=True)

updated = models.DateTimeField(auto_now=True)

country = models.ForeignKey(Country, on_delete=models.CASCADE)

categories = models.ManyToManyField(Category, default=1)

# categories = ArrayField(models.IntegerField(), blank=False)

entities = models.ManyToManyField(Entity, default=1)

# entities = ArrayField(models.CharField(max_length=200),

blank=True)

summary = models.TextField(blank=True)

is_published = models.BooleanField(default=False)

is_curated = models.BooleanField(default=False)

class Meta:

ordering = ('-created',)

def __str__(self):

return self.title

def save(self, *args, **kwargs):

self.slug = slugify(self.title)

super(Article, self).save(*args, **kwargs)

我的新(更新)型号:

^{pr2}$

我的序列化程序:class CreateArticleSerializer(serializers.ModelSerializer):

author = UserSerializer(read_only=True, required=False)

country = CountrySerializer(read_only=True)

class Meta:

model = Article

fields = ("id", "title", "body", "image_url", "country",

"keypoint1", "keypoint2", "keypoint3", "keypoint4",

"category", "entities", "author", "created", "updated",

"published", "is_published")

read_only_fields = ("id", "created", "slug")

def create(self, validated_data):

entities_relations = validated_data.pop('entities', None)

entity_instance = Entity.objects.create(**validated_data)

entity_instance.posts = entities_relations

article = Article.objects.create(entities=entity_instance,

**validated_data)

return article

以及我的create post视图:class ArticleAPIView(generics.CreateAPIView):

queryset = Article.objects.all()

serializer_class = CreateArticleSerializer

permission_classes = (IsAuthenticatedOrReadOnly,)

#Create a new post

def post(self, request, format=None):

data_map = {

'title': request.data.get('title'),

'body': request.data.get('body'),

'image_url': request.data.get('imageUrl'),

'keypoint1': request.data.get('keyPoint1'),

'keypoint2': request.data.get('keyPoint2'),

'keypoint3': request.data.get('keyPoint3'),

'keypoint4': request.data.get('keyPoint4'),

}

serializer = CreateArticleSerializer(data=data_map,context=

{'request': request})

if serializer.is_valid():

serializer.save(author=self.request.user)

post_id = serializer.instance.id

post = get_object_or_404(Article, pk=post_id)

return Response((jsend.success({'post':

serializer.data})), status=status.HTTP_201_CREATED)

else:

return Response((jsend.fail(serializer.errors)),

status=status.HTTP_400_BAD_REQUEST)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值