Exemplo n.º 1
0
# -*- coding:utf-8 -*-
from django.db.models import Model, CharField, DateField, IntegerField
from django.contrib import admin

from utils import get_models_config
import models as app_models
from const import CHAR_FIELD_MAX_LENGTH


# Create your models here, if not created yet
models_spec = get_models_config()

for m_name, m_spec in models_spec.iteritems():
    m_name = str(m_name.capitalize())
    fields = m_spec.get('fields', [])

    class Meta:
        # At config only one form
        verbose_name = m_spec.get('title', '')
        verbose_name_plural = m_spec.get('title', '')

    model_attr_dict = dict(
        # http://stackoverflow.com/questions/7320705/python-missing-class-attribute-module-when-using-type/
        __module__=app_models.__name__,
        Meta=Meta,
    )

    for field in fields:
        field_type = field.get('type', '')
        if field_type == 'char':
            model_attr_dict[field.get('id', '')] = CharField(
Exemplo n.º 2
0
# -*- coding:utf-8 -*-
import json

from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse, Http404, HttpResponseBadRequest
from django.forms.models import model_to_dict
from django.forms import ModelForm

from utils import get_models_config, default_for_date
import models as app_models


MODELS = get_models_config()


def home(request):
    '''
    Index page
    '''
    return render(request, 'foo/index.html', {'models': MODELS})


def api(request, model_name):
    '''
    Data API
    '''
    if model_name not in MODELS:
        raise Http404()

    Model = getattr(app_models, model_name.capitalize())