2016-07-26 53 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的只讀 –

相關問題