Skip to content
Snippets Groups Projects
Commit 3c5d982e authored by Mark Skipper's avatar Mark Skipper
Browse files

WIP: on taxonomies, don't expect tests to pass here!

parent 100d5e6c
No related branches found
No related tags found
No related merge requests found
from __future__ import unicode_literals, absolute_import
import pytest
from django.core.urlresolvers import reverse
from rest_framework.test import APIRequestFactory
from data_layer.models import Taxonomy
from ..views import TaxonomyViewSet
def create_category(name):
url = reverse('category-list')
request = APIRequestFactory().put(url, {'name': name})
view = TaxonomyViewSet.as_view(actions={'put': 'create'})
return view(request, pk=id)
def test_create_a_category():
create_category('Animal')
assert Taxonomy.objects.count() == 1
[taxonomy] = Taxonomy.objects.all()
assert taxonomy.name == 'Animal'
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Taxonomy(models.Model):
name = models.CharField(
_('Name'),
max_length=250,
help_text=_('Taxonomy Name'),
unique=True,
db_index=True,
)
# My thoughts on how this grows...
#
# multiplicity = models.CharField(
# ...
# choices=(
# ('optional', _('Zero or One')),
# ('multiple', _('Zero or More')),
# )
# )
#
# modifyable_by = models.CharField(
# ...
# choices=(
# ('system', _('Not modifyable by any user')),
# ('admin', _('Only users who have permission to definen taxonomies')),
# ('user', _('Any user who has permission to use taxonomies')),
# )
# )
# To do Categories or limited vocabularies, you use 'optional' and 'admin',
# to do free taggingn use 'multiple' and 'user'
class Meta:
abstract = True
class Term(models.Model):
class Meta:
abstract = True
name = models.CharField(
_('Name'),
max_length=250,
help_text=_('Taxonomy Name'),
unique=True,
db_index=True,
)
taxonomy = models.ForeignKey(
Taxonomy,
verbose_name=_('Taxonomy'),
)
long_name = models.TextField(
verbose_name=_('Long Name'),
blank=True,
)
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