Skip to content
Snippets Groups Projects
Commit fd5ecfaf authored by Bodor Máté's avatar Bodor Máté
Browse files

add validators to files field and full_name field to serializers

parent b28b14e6
No related branches found
No related tags found
No related merge requests found
# Generated by Django 2.0.1 on 2018-12-29 19:19
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('account', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Document',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('uploaded_at', models.DateTimeField(auto_now_add=True)),
('name', models.CharField(max_length=150)),
('description', models.TextField()),
('file', models.FileField(upload_to='')),
('uploaded_by', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='account.Profile')),
],
),
]
from django.db import models
from django.core import validators
from account.models import Profile
from common.validators import FileSizeValidator
class Document(models.Model):
......@@ -8,7 +10,17 @@ class Document(models.Model):
uploaded_at = models.DateTimeField(auto_now_add=True, editable=False)
name = models.CharField(max_length=150)
description = models.TextField()
file = models.FileField()
files = models.FileField(
validators=[
validators.FileExtensionValidator([
'png',
'jpeg',
'jpg',
'zip',
]),
FileSizeValidator(size_limit=52428800), # 52428800 - 50MiB
],
)
def __str__(self):
return self.name
......@@ -5,9 +5,12 @@ from . import models
class DocumentSerializer(serializers.ModelSerializer):
uploaded_at = serializers.DateTimeField(read_only=True)
uploaded_by = serializers.HiddenField(default=CurrentUserProfileDefault())
uploaded_by_name = serializers.SerializerMethodField()
class Meta:
model = models.Document
fields = ('uploaded_by', 'uploaded_at', 'name', 'description', 'file')
def get_uploaded_by_name(self, obj):
return obj.uploaded_by.full_name
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment