小编mar*_*rwy的帖子

为什么我无法在 Raku 中进行赋值后进行迭代?

给出以下代码,如果 Buf 已分配给变量,我似乎无法迭代它,除非我将其转换为列表,即使它不是惰性序列。是什么赋予了?

    my $file = open $path, bin => True;
    $_.chr.say for $file.read: 8; # works well

    my $test = $file.read: 8;
    $_.chr.say for $test; # fails with "No such method 'chr' for invocant of type 'Buf[uint8]'"
    $_.chr.say for $test.list; # works well
    $test.is-lazy.say; # False
Run Code Online (Sandbox Code Playgroud)

raku

12
推荐指数
1
解决办法
136
查看次数

列表似乎被重用,但裸值工作正常

这:

my %dict;
my $counter = 0;
for ^5 -> $digit {
        %dict{$digit} = ($counter,);
        $counter += 1;
}
say %dict;
Run Code Online (Sandbox Code Playgroud)

给了我这个: {0 => (5), 1 => (5), 2 => (5), 3 => (5), 4 => (5)},但我期望这个: {0 => (0), 1 => (1), 2 => (2), 3 => (3), 4 => (4)} 分配一个裸值,一个数组或散列按我的预期工作。

raku

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

使用序列化程序作为字段时,无法更新m2m

我有以下型号:

class Song(models.Model):
    name = models.CharField(max_length=64)

    def __unicode__(self):
        return self.name

class UserProfile(AbstractUser):
    current = models.ManyToManyField(Song, related_name="in_current", blank=True)
    saved = models.ManyToManyField(Song, related_name="in_saved", blank=True)
    whatever = models.ManyToManyField(Song, related_name="in_whatever", blank=True)

    def __unicode__(self):
        return self.get_username()
Run Code Online (Sandbox Code Playgroud)

以及序列化器:

class SongSerializer(serializers.ModelSerializer):
    class Meta:
        model = Song

class UserProfileSongsSerializer(serializers.ModelSerializer):
    current = SongSerializer(many=True)
    saved = SongSerializer(many=True)
    whatever = SongSerializer(many=True)

    class Meta:
        model = UserProfile
        fields = ("id", "current", "saved", "whatever")
Run Code Online (Sandbox Code Playgroud)

并且我正在使用UpdateAPIView:

class UserProfileSongsUpdate(generics.UpdateAPIView):
    queryset = UserProfile.objects.all()
    serializer_class = UserProfileSongsSerializer
Run Code Online (Sandbox Code Playgroud)

问题:我无法将歌曲(即使它已经存在于数据库中)添加到任何(当前,已保存,无论如何),我只能删除它.

curl -X PUT -d '{"current": [{"id": 1, "name": "sialalalal"}, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

标签 统计

raku ×2

django ×1

django-rest-framework ×1

python ×1