小编Sco*_*d77的帖子

停止virtualenvwapper和anaconda的冲突

我正在使用virtualenv来切换我的python dev env.但是当我跑步时workon my_env,我遇到了这样的错误信息:

Error: deactivate must be sourced. Run 'source deactivate'
instead of 'deactivate'.

Usage: source deactivate

removes the 'bin' directory of the environment activated with 'source
activate' from PATH.
Run Code Online (Sandbox Code Playgroud)

在google上进行一些搜索之后,似乎workon在/usr/local/bin/virtualenvwrapper.sh中定义了调用deactivate.并且在Anaconda的bin中有一个同名的脚本,因此它会被workon错误地调用.

有什么建议可以解决这场冲突吗?

python virtualenv virtualenvwrapper anaconda

12
推荐指数
3
解决办法
4511
查看次数

如何发布嵌套数据和图像列表

有两种型号:ProductPicture.每个都Product可以有几个Picture.当我想使用POST创建产品时,我有疑问.如何POST一个包含ImageField列表的嵌套对象?

Product模型是:

class Product(models.Model):
    product_id = models.AutoField(primary_key=True)
    product_name = models.CharField(max_length=50)
    description = models.TextField(blank=True)
Run Code Online (Sandbox Code Playgroud)

Picture模型是:

class Picture(models.Model):
    product = models.ForeignKey(Product, related_name='pictures')
    path = models.ImageField(null=False, upload_to='product_pic')
    description = models.CharField(max_length=255, null=True, blank=True)
    main = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

我写了serializer.py如下:

class PictureSerializer(serializers.ModelSerializer):
    class Meta:
        model = Picture
        fields = ('path', 'description', 'main')

class ProductSerializer(serializers.ModelSerializer): 
    pictures = PictureSerializer(many=True, required=False)

    class Meta:
        model = Product
        fields = ('product_id', 'product_name', 'pictures', 'description')
Run Code Online (Sandbox Code Playgroud)

我使用的观点是:

class ProductEnum(generics.ListCreateAPIView):
    queryset = Product.objects.all() …
Run Code Online (Sandbox Code Playgroud)

post json curl imagefield django-rest-framework

9
推荐指数
1
解决办法
1097
查看次数

Django Rest Framework:反序列化并从validated_data获取主键

我定义了一个嵌套模型Product如下.每个都Product可以属于很多Productlist.

class Product(models.Model):
    product_id = models.AutoField(primary_key=True)
    product_name = models.CharField(max_length=50)

class Productlist(models.Model):
    productlist_id = models.AutoField(primary_key=True)
    productlist_name = models.CharField(max_length=50)
    product = models.ManyToManyField(Product, related_name='productlists')
Run Code Online (Sandbox Code Playgroud)

相应的序列化器是:

class ProductlistSerializer(serializers.ModelSerializer):
    class Meta:
        model = Productlist
        fields = ('productlist_id', 'productlist_name',)

class ProductSerializer(serializers.ModelSerializer):
    productlists = ProductlistSerializer(many=True, required=False)

    class Meta:
        model = Product
        fields = ('product_id', 'product_name', 'product lists')

    def create(self, validated_data):
        #some codes
Run Code Online (Sandbox Code Playgroud)

当我POST使用new Product(url(r'^api/products/$', views.ProductEnum.as_view())时,我想更新产品列表,以便将新产品添加到相应的产品列表中.我更喜欢使用的JSON文件是:

{
    "product_name": "product1"
    "productlist": [
        {
            "productlist_id": 1,
            "productlist_name": "list1",
        }, …
Run Code Online (Sandbox Code Playgroud)

django json primary-key nested-lists django-rest-framework

2
推荐指数
1
解决办法
3554
查看次数