如何在Django Rest中从无关表中添加额外数据?

时间:2018-08-11 13:29:08

标签: django django-rest-framework

我有这个序列化器:

function TodoList(props) {
  return (
    <ul className="todoList">
      {props.todos.map((todo, index) => (
        <Todo
          onClick={() => console.log(`Clicked ${index}!`)}
          name={todo.name}
          key={index}
        />
      ))}
    </ul>
  );
}

function Todo(props) {
  return <li onClick={props.onClick}>{props.name}</li>;
}

ReactDOM.render(
  <TodoList todos={[{ name: "foo" }, { name: "bar" }]} />,
  document.getElementById("root")
);

我想添加额外的列-前5行的奖励,这是从另一个有2列的表中获取的:position(1-5)和该位置的奖励。

我该怎么做?

还是我需要进行2个查询:获取评级数据,然后获取前5行的奖励数据?

我的主要模型:

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="root"></div>

和无关的模型,我想从中获取前5行的额外数据:

class RatingSerializer(serializers.Serializer):
    username = serializers.CharField(source='usersceneobj.user.username')
    image = serializers.SerializerMethodField(source='get_image')
    crystals = serializers.FloatField(source='propertyValue')
    energy = serializers.SerializerMethodField(source='get_energy')

    def get_image(self, obj):
        return obj.usersceneobj.user.extendeduser.get_big_img()

    def get_energy(self, obj):
        return obj.get_energy(obj)

    class Meta:
        model = UserSceneObjectParameter
        fields = '__all__'

在django管理员中,此额外奖励数据如下:enter image description here

0 个答案:

没有答案