2016-07-26 54 views
0

我旁边型号:如何正确序列化模型?

class Product(models.Model): 
    name = models.CharField(max_length=500, blank=False, null=False) 

class ProdcutsAccess(models.Model): 
    user = models.ForeignKey(User) 
    product = models.ForeignKey(Product,related_name='hidden_products') 

我想序列化产品类和有有场 'hidden_​​users',看起来像:

hidden_​​users:[大关,乔,SAM]

即用户名列表

我的集热器看起来像:

class ProductSerializer(serializers.ModelSerializer): 
    hidden_users = serializers.SlugRelatedField(many=True, slug_field='user', read_only=False, source='hidden_products',queryset=User.objects.all()) 

但我得到的错误

不JSON序列化

怎么能赢得了吗?

+0

你为什么要序列化,你尝试泡菜? – Newbie

回答

0

我可以建议使用的解决方法与SerializerMethodField

class ProductSerializer(serializers.ModelSerializer): 
hidden_users = serializers.SerializerMethodField() 

def get_hidden_users(self, product): 
    hidden_users = product.hidden_products.values_list('user', flat=True) 
    return [user.name for user in hidden_users] 

class Meta: 
    model = Product 
+0

我知道这个问题,但那不是editable.it的只读 –

相关问题