Android 添加可通过PUT请求更新的自定义DateTimeField(DjangoRestFramework)

Android 添加可通过PUT请求更新的自定义DateTimeField(DjangoRestFramework),android,python,django,django-models,django-rest-framework,Android,Python,Django,Django Models,Django Rest Framework,我是django新手,我根据本教程创建了一个django应用程序: 本教程提供了一个包含各种字段的预制用户类。我正在尝试添加一个自定义DateTimeField,它可以通过android中的PUT请求频繁更新。如何将此自定义字段“timestamp”添加到此类中 这是我的代码: 序列化程序.py Views.py url.py Models.py 错误 异常值: 字段名时间戳对于型号用户无效。 异常位置:/Library/Python/2.7/site-packages/rest\u frame

我是django新手,我根据本教程创建了一个django应用程序:

本教程提供了一个包含各种字段的预制用户类。我正在尝试添加一个自定义DateTimeField,它可以通过android中的PUT请求频繁更新。如何将此自定义字段“timestamp”添加到此类中

这是我的代码:

序列化程序.py

Views.py

url.py

Models.py

错误

异常值:
字段名
时间戳
对于型号
用户
无效。 异常位置:/Library/Python/2.7/site-packages/rest\u framework/serializers.py在build\u unknown\u字段中,第1079行 Python可执行文件:/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Python版本:2.7.6


为了构建自己的用户模型,最好使用Django提供的
AbstractBaseUser
。这比创建一个新的专用
时间
模型及其附带的DRF自定义关系字段更简单

例如:

from django.contrib.auth.models import AbstractBaseUser
from django.db import models

class CustomUser(AbstractBaseUser):
    timestamp = models.DateTimeField()
然后,在DRF序列化程序中:

from rest_framework import serializers

class CustomUserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = CustomUser
        lookup_field = 'username'
        set_timezone = 'date_joined'
        fields = ('url', 'username','date_joined', 'timestamp')

为了构建自己的用户模型,最好使用Django提供的
AbstractBaseUser
。这比创建一个新的专用
时间
模型及其附带的DRF自定义关系字段更简单

例如:

from django.contrib.auth.models import AbstractBaseUser
from django.db import models

class CustomUser(AbstractBaseUser):
    timestamp = models.DateTimeField()
然后,在DRF序列化程序中:

from rest_framework import serializers

class CustomUserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = CustomUser
        lookup_field = 'username'
        set_timezone = 'date_joined'
        fields = ('url', 'username','date_joined', 'timestamp')

timestamp
只是您的用户模型上的自定义字段吗?@KevinBrown是的,我正在尝试创建名为timestamp的自定义DateTimeField。您是否尝试将其添加到序列化程序元中的
字段中?@KevinBrown是的,我得到一个错误,因为我认为我需要为其创建一个视图和模型,但我不确定如何实现它。请在问题中包括错误和您的模型。
时间戳
只是您的用户模型上的自定义字段吗?@KevinBrown是的,我正在尝试创建名为timestamp的自定义DateTimeField。您是否尝试将其添加到序列化程序元中的
字段
?@KevinBrown是的,我得到一个错误,因为我认为我需要为它创建一个视图和模型,但我不确定如何实现它。请在你的问题中包括错误和你的模型。
from django.contrib.auth.models import AbstractBaseUser
from django.db import models

class CustomUser(AbstractBaseUser):
    timestamp = models.DateTimeField()
from rest_framework import serializers

class CustomUserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = CustomUser
        lookup_field = 'username'
        set_timezone = 'date_joined'
        fields = ('url', 'username','date_joined', 'timestamp')