我有带有翻译字段的模型。
class Device(TranslatableModel):
translations = TranslatedFields(name=models.CharField(max_length=100))
我做了一个像这样的序列化器:
class DeviceSerializer(TranslatableModelSerializer):
translations = TranslatedFieldsField(shared_model=Device)
class Meta:
model = Device
fields = ('translations',)
它给了我应有的不错的 JSON。
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"device": {
"translations": {
"en": {
"name": "Sample Device"
}
}
}
}
]
}
现在我想将它与 django-rest-framework 一起使用。在我的模板中,我编写了如下脚本:
$('#devices').DataTable({
'serverSide': true,
'ajax': 'api/devices/?format=datatables',
'columns': [
{'data':'device.translations.en'}
它拒绝与我合作。我收到 django.core.exceptions.FieldError: Unsupported lookup 'en' for AutoField or join on the field not allowed。如果我没有将 .en 附加到 {'data'} 它当然会给出 Object.object。