小编Rod*_*vid的帖子

序列化程序上的 Django verbose_name 属性

我正在为 angular cli 使用 django rest 框架构建 API 后端,但我不知道如何访问 verbose_name 的模型字段属性以对其进行序列化。这是我的代码:

models.py
class MyModel(model.Models):
    myField = models.CharField(verbose_name='My Verbose Name')
    # Here I have other 30 fields
Run Code Online (Sandbox Code Playgroud)

这是此模型的序列化程序

serializers.py
class MyModelSerializer(ModelSerializer):  
    myField = SerializerMethodField()

    def get_myField(self, obj):
        field = next(f for f in obj._meta.fields if f.name == 'myField')
        myField=  {
            'verbose_name': field.verbose_name.title(),
            'value': obj.myField
            }
        return myField
    # Do I Have to repeat this function for every field on my Model in order to have verbose-name ??

    class Meta:
        model = …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

6
推荐指数
1
解决办法
2657
查看次数

角度5测试静态方法的组件

我在我测试的Component类上有一个静态方法,我的问题是如何在我的spec测试文件中访问该方法?

到目前为止,我可以访问一个组件实例:

  let fixture = TestBed.createComponent(MyComponent);
  let comp = fixture.componentInstance;
Run Code Online (Sandbox Code Playgroud)

jasmine angular angular-test

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

java不兼容类型编译器错误

我是Java新手,这段代码在编译时给我错误:

import java.util.*;

public class Sorts {


    public List<Integer> ascendent(List<Integer> list) {
          return Collections.sort(list);
        }
    public List<Integer> descendant(List<Integer> list) {
          return Collections.sort(list, Collections.reverseOrder());
    }  

    public static void main(String[] args) {

        Sorts sorts = new Sorts(); 

        List<Integer> list = new ArrayList<Integer>();
        list.addAll(Arrays.asList(1,9,2,8,3,7,4,6,5,5));

        System.out.println(sorts.ascendent(list).toString());    
    }

}
Run Code Online (Sandbox Code Playgroud)

错误是从ascendent和descendent方法返回的行:


需要不兼容的类型:java.util.List(java.lang.Integer)
found:void

但在我看来,我正在正确地投射我的ListArray对象,出了什么问题?

java

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