Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Boilerplate for modelling collections of collecting institutions.

Project Description

Requirements Status

Overview

This package contains common code for the SFMOMA website and collection projects, such as:

  • Abstract collection models.
  • Database routers.
  • Elastic Search integration.

Abstract and concrete models

You must implement concrete versions of each abstract collection model in an app named collection within your project.

This will allow you to define different methods and behaviour for the models in each project (as if they were proxy models), but without any foreign key problems (as with proxy models).

Even if multiple projects access a shared database with different concrete collection implementations, only one set of migrations will be defined in the collection_migrations app, and they can be applied by any project.

Model import paths will be the same, so it should be possible to swap in a different concrete implementation by factoring it out of the project into a standalone app and then substituting it for another.

Projects that use a collection app MUST include the following setting to ensure the database is consistent across projects:

MIGRATION_MODULES = {
    'collection': 'collection_migrations',
}

These migrations are stored in the top level collection_migrations package, instead of collection_models.migrations, because collection_models is installed into projects and that confuses Django.

Shared Artwork Images

All projects should symlink the artwork_image_path to a common directory:

COLLECTION_MODELS = {
    'artwork_image_path': 'collection-artwork-images',
}

You can also configure options for artwork thumbnails:

COLLECTION_MODELS = {
    'artwork_thumbnail_options': {'size': (250, 250)},
}

Elastic Search Integration

Install the collection_models.search app and use the index_collection management command to populate the search index:

$ ./manage.py index_collection

Release history Release notifications

This version
History Node

0.36

History Node

0.35

History Node

0.3

History Node

0.2.1

History Node

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
glamkit_collections-0.36-py2.py3-none-any.whl (64.3 kB) Copy SHA256 hash SHA256 Wheel 2.7 Nov 9, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page