fix pluralized m2m fields

This commit is contained in:
Fred Pauchet 2017-09-18 13:12:13 +02:00
parent 1f8c67632f
commit 4db2600221
8 changed files with 123 additions and 6 deletions

Binary file not shown.

View File

@ -1,8 +1,13 @@
from django.contrib import admin from django.contrib import admin
from .models import Audience, Document, Structure from .models import Audience, Document, Site, Structure
class DocumentAdmin(admin.ModelAdmin):
list_filter = ('audiences', 'sites', 'structures')
admin.site.register(Audience) admin.site.register(Audience)
admin.site.register(Site)
admin.site.register(Structure) admin.site.register(Structure)
admin.site.register(Document) admin.site.register(Document, DocumentAdmin)

View File

@ -6,4 +6,4 @@ from evolus.models import Document
class DocumentFilter(django_filters.FilterSet): class DocumentFilter(django_filters.FilterSet):
class Meta: class Meta:
model = Document model = Document
fields = ('audience', 'structure', 'standards') fields = ('audiences', 'sites', 'structures', 'standards')

View File

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 10:51
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evolus', '0004_auto_20170915_0954'),
]
operations = [
migrations.CreateModel(
name='Site',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50)),
],
),
migrations.AddField(
model_name='document',
name='sites',
field=models.ManyToManyField(to='evolus.Site'),
),
]

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 10:54
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evolus', '0005_auto_20170918_1251'),
]
operations = [
migrations.AlterModelOptions(
name='site',
options={'ordering': ['name']},
),
migrations.AddField(
model_name='document',
name='title',
field=models.CharField(default='', max_length=255),
preserve_default=False,
),
]

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 10:56
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evolus', '0006_auto_20170918_1254'),
]
operations = [
migrations.AddField(
model_name='document',
name='overview',
field=models.TextField(blank=True, null=True),
),
]

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-09-18 11:05
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('evolus', '0007_document_overview'),
]
operations = [
migrations.RenameField(
model_name='document',
old_name='audience',
new_name='audiences',
),
migrations.RenameField(
model_name='document',
old_name='structure',
new_name='structures',
),
]

View File

@ -15,6 +15,17 @@ class Audience(ClosureModel):
def __str__(self): def __str__(self):
return self.name return self.name
class Site(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Meta:
ordering = ['name']
class Structure(ClosureModel): class Structure(ClosureModel):
name = models.CharField(max_length=50) name = models.CharField(max_length=50)
parent = models.ForeignKey('self', related_name='children', null=True, blank=True) parent = models.ForeignKey('self', related_name='children', null=True, blank=True)
@ -22,10 +33,14 @@ class Structure(ClosureModel):
def __str__(self): def __str__(self):
return self.name return self.name
class Document(models.Model): class Document(models.Model):
audience = models.ManyToManyField(Audience) audiences = models.ManyToManyField(Audience)
sites = models.ManyToManyField(Site)
standards = models.ManyToManyField(Standard) standards = models.ManyToManyField(Standard)
structure = models.ManyToManyField(Structure) structures = models.ManyToManyField(Structure)
title = models.CharField(max_length=255)
overview = models.TextField(blank=True, null=True)
def __str__(self): def __str__(self):
return '{} {}'.format(self.audience, self.structure) return self.title