小编Jad*_*eda的帖子

通过键盘支持从命令行创建 avd

如何通过键盘支持从命令行创建 avd?

我能够使用以下命令从命令行创建 avd android create avd,但我不知道如何启用键盘支持。

甚至 android 文档/帮助对此也没有任何说明。

keyboard android android-virtual-device

5
推荐指数
1
解决办法
3122
查看次数

DRF:允许 GET 请求中的所有字段,但将 POST 限制为一个字段

让我们通过例子来理解它。

比如说,我想创建 FileUploader API,它将在数据库中存储 id、file_path、file_name、size、owner 等字段。请参阅下面的示例模型:

class FileUploader(models.Model):
    file = models.FileField()
    name = models.CharField(max_length=100) #name is filename without extension
    version = models.IntegerField(default=0)
    upload_date = models.DateTimeField(auto_now=True, db_index=True)
    owner = models.ForeignKey('auth.User', related_name='uploaded_files')
    size = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

现在,对于 API,这就是我想要的:

  1. GET:当我触发 GET 端点时,我希望每个上传的文件都有上述所有字段。

  2. POST:但是对于用户创建/上传文件,她为什么要担心传递所有这些字段。她可以上传文件,然后,我想,序列化程序可以从上传的文件中获取其余字段。

Searilizer: 问题:我创建了下面的序列化程序来达到我的目的。但不确定它是否是实现它的正确方法。

class FileUploaderSerializer(serializers.ModelSerializer):
    #overwrite = serializers.BooleanField()
    class Meta:
        model = FileUploader
        fields = ('file','name','version','upload_date', 'size')
        read_only_fields = ('name','version','owner','upload_date', 'size')

    def create(self, validated_data):
        return FileUploader.objects.create(**validated_data)
Run Code Online (Sandbox Code Playgroud)

供参考的视图集:

class FileUploaderViewSet(viewsets.ModelViewSet):
    serializer_class = FileUploaderSerializer
    parser_classes = (MultiPartParser, FormParser,)

    # overriding default query set …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

4
推荐指数
1
解决办法
3636
查看次数