Используйте SerializerMethodField()
, чтобы выполнить задачу. Так как вы не опубликовали свои модели и как это связано. Я дал вам нормальное представление о том, как этого добиться. Будет лучше, если вы сможете добавить модели. Я смогу обновить ответ соответственно.
from rest_framework.serializers import SerializerMethodField
class ImageSerializer(serializers.HyperlinkedModelSerializer):
prop_post = serializers.SlugRelatedField(queryset=PropertyPost.objects.all(),
slug_field='pk')
prop_post_title = SerializerMethodField()
class Meta:
model = Image
fields = [
'url',
'photo',
'prop_post',
'prop_post_title',
]
def get_prop_post_title(self, obj):
try:
return obj.prop_post.title
except:
return None
Мой опыт показывает, что большинство программистов, которые говорят о DP, не понимают ни капли сил и т. Д. Вокруг! Такое поведение может быть желательным, поскольку yylex () изменяет содержимое буфера, который он сканирует).
Если вы хотите избежать копирования (и yy_delete_buffer), используя:
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size)
Пример основной:
int main() {
yy_scan_buffer("a test string");
yylex();
}
См. в этом разделе руководства Flex для получения информации о том, как сканировать буферы в памяти, такие как строки.