Reputation: 531
I use basic User model for date_joined field.
And I already did almost of ways in google search.
views.py
def list(self, request, *args, **kwargs):
form = ModelInfoForm(request.GET or None)
serializer = UserSerializer(self.queryset, many=True)
return Response({'users':serializer.data, 'form':form}, template_name = 'user/userinfo.html')
serializers.py
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active', 'date_joined',
'get_absolute_url')
settings.py
USE_L10N = False
USE_TZ = False
DATETIME_FORMAT = '%d-%m-%Y-%H-%M-%S'
template.html
<td>{{ user.date_joined }}</td>
<td>{{ user.date_joined|date:"d:m:Y H:i:s" }}</td>
And I got results like this
{{ user.date_joined }}
=> 2018-06-14T12:02:21
{{ user.date_joined|date:"d:m:Y H:i:s" }}
=> (nothing)
{{ user.date_joined|date:"DATETIME_FORMAT" }}
=> (nothing)
{{ user.date_joined|date:DATETIME_FORMAT }}
=> (error)
I also use user solution to other my models.
models.py
class TimeStampedModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
Upvotes: 1
Views: 4637
Reputation: 2654
You can specify a format parameter to the joined_date in the output format.
class UserSerializer(serializers.ModelSerializer):
date_joined = serializers.DateTimeField(format="<Your format>")
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active','get_absolute_url')
Upvotes: 1
Reputation: 531
I solved with my custom DATETIME_FORMAT
settings.py
DATETIME_FORMAT = '%Y-%m-%d %H:%m'
serializers.py
class UserSerializer(serializers.ModelSerializer):
date_joined = serializers.DateTimeField(format=base.DATETIME_FORMAT, input_formats=None)
class Meta:
model = User
fields = ('username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active', 'date_joined',
'get_absolute_url', 'pk')
Upvotes: 2