django 等问题

  

一、admin 显示外键的其他字段

#models
class Category(models.Model): name
= models.CharField(max_length=64,unique=True) admins = models.ForeignKey(User,blank=True,on_delete=models.CASCADE) class Meta: verbose_name = '分类' verbose_name_plural = '分类'

class Comment(models.Model):
    article = models.ForeignKey(Article,verbose_name=u"所属文章",on_delete=models.CASCADE)
    user = models.ForeignKey(User,on_delete=models.CASCADE)
    comment = models.TextField(blank=True,null=True)# 问题来了? 点赞不用内容,但是评论要内容啊!!!
    date = models.DateTimeField(auto_now_add=True)

    def clean(self):
        if len(self.comment) ==0:
            raise ValidationError(u'评论内容不能为空')
    def __str__(self):
        return self.comment
    class Meta:
        verbose_name = '评论'
        verbose_name_plural = '评论'

# admin.py

class CommentAdmin(admin.ModelAdmin):
    list_display = ('article','comment','user','date')   user 如果是外键的话显示user的ID

class CategoryAdmin(admin.ModelAdmin):
    list_display = ('name','admins')     这里admin  显示外键的username字段
    def admins(self,obj):
        return obj.admins.username

二、序列化显示外键其他字段

我们使用source 
class CommentSerializer(serializers.ModelSerializer): # username
= serializers.CharField(source='user.username') 显示user外键的username class Meta: model = Comment fields = ('username')

 三。上传

    head_img = models.ImageField(upload_to="uploads")

猜你喜欢

转载自www.cnblogs.com/linhankbl/p/10375628.html