我一直在尝试为我的模型添加一个“所有者”字段。我已经看过其他问题,但我仍然没有运气。理想情况下,当创建新笔记时,当前用户将设置在所有者字段中并且不可更改。
下面是我的模型、序列化程序和就我所知的 Note 视图。我猜 CurrentUserDefault() 函数需要额外的上下文,但我无法正确设置它。
视图.py
class NoteListCreateView(ListCreateAPIView):
authentication_classes = (SessionAuthentication, TokenAuthentication)
permission_classes = (DjangoModelPermissions,)
lookup_field = 'pk'
serializer_class = serializers.NoteSummarySerializer
def get_queryset(self):
qs = Note.objects.all()
# general search
query = self.request.GET.get('search')
if query is not None:
qs = qs.filter(
Q(title__icontains=query) |
Q(content__icontains=query)
).distinct()
# title search
query = self.request.GET.get('title')
if query is not None:
qs = qs.filter(title__icontains=query)
# content search
query = self.request.GET.get('content')
if query is not None:
qs = qs.filter(content__icontains=query)
return qs
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class NoteSummarySerializer(serializers.ModelSerializer):
owner = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用C ++ 17项目设置Travis CI。我们使用CLion进行开发,这意味着我们有一个自动生成的CMakeLists.txt文件。我是从命令行编译和运行C ++的新手。
据我了解,Travis使用的所有东西都已过时,需要进行更新才能与C ++ 17一起使用。到目前为止,我的.travis.yml看起来像这样,我确信它有很多问题。
dist: trusty
sudo: require
language: cpp
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
- cmake
script:
- sudo ln -s /usr/bin/gcc-6 /usr/local/bin/gcc
- sudo ln -s /usr/bin/g++-6 /usr/local/bin/g++
- export CC=/usr/bin/gcc-6
- export CXX=/usr/bin/g++-6
- cmake --version
- cmake CMakeLists.txt
- cmake --build . --target neat
Run Code Online (Sandbox Code Playgroud)
构建失败,因为无法导入C ++ 17库之一。
编辑添加了Travis错误消息。
$ git clone --depth=50 --branch=feature/travis-ci https://github.com/sheldonkwoodward/bNEAT.git sheldonkwoodward/bNEAT
Cloning into 'sheldonkwoodward/bNEAT'...
remote: Counting objects: 778, done.
remote: …Run Code Online (Sandbox Code Playgroud)