我正在尝试在应用程序的审核中添加自定义列。
我有一个自定义的RevisionEntity:
from rest_framework.response import Response
from rest_framework import status, viewsets
...
@action(detail=True, methods=['put'], name='Change Status', url_path='change-status', url_name='change_status')
def status(self, request, pk):
try:
obj = MyModel.objects.get(pk=pk)
changed_status = obj.change_status()
return Response({'success':True, "status_changed": changed_status}, status=status.HTTP_200_OK)
except MyModel.DoesNotExists:
return Response({'success':False}, status=status.HTTP_400_BAD_REQUEST)
在持久化数据时,休眠执行将以下查询发送到数据库:
@Entity
@Table(name = "REVINFO")
@RevisionEntity(UserRevisionListener.class)
public class UserRevEntity extends DefaultRevisionEntity {
private String username;
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
}
问题是REVINFO表没有id和timestamp字段,并且出现错误
SQLSyntaxErrorException:ORA-00904:“ ID”:无效的标识符
REVINTO表如下:
我可以告诉冬眠将id和时间戳分别映射到REV和REVTSTMP列吗?
请帮助,谢谢。
答案 0 :(得分:1)
尝试一下。
randomusers