示例#1
0
def model_fields(model, only=None, exclude=None, hidden=None, field_args=None, converter=None):
  """
  Generate a dictionary of fields for a given Django model.

  See `model_form` docstring for description of parameters.
  """
  from schematics.models import Model
  if not isinstance(model, Model):
    raise TypeError('model must be a schematics.Model schema')

  converter = converter or ModelConverter()
  field_args = field_args or {}
  gottago = wholelist()
  field_dict = { }

  if only:
    gottago = whitelist(*only)
  elif exclude:
    gottago = blacklist(*exclude)

  for field_name, field in model._fields.items():
    if gottago(field_name, None): continue
    ishidden = False
    if hidden:
      if field_name in hidden: ishidden=True
      
    form_field = converter.convert(model, field, field_name, field_args.get(field_name), hidden=ishidden)
      
    if form_field is not None:
      field_dict[field_name] = form_field

  return field_dict
示例#2
0
def model_fields(model,
                 only=None,
                 exclude=None,
                 hidden=None,
                 field_args=None,
                 converter=None):
    """
    Generate a dictionary of fields for a given Django model.

    See `model_form` docstring for description of parameters.
    """
    from schematics.models import Model
    if not isinstance(model, Model):
        raise TypeError('model must be a schematics.Model schema')

    converter = converter or ModelConverter()
    field_args = field_args or {}
    gottago = wholelist()
    field_dict = {}

    if only:
        gottago = whitelist(*only)
    elif exclude:
        gottago = blacklist(*exclude)

    for field_name, field in model._fields.items():
        if gottago(field_name, None): continue
        ishidden = False
        if hidden:
            if field_name in hidden: ishidden = True

        form_field = converter.convert(model,
                                       field,
                                       field_name,
                                       field_args.get(field_name),
                                       hidden=ishidden)

        if form_field is not None:
            field_dict[field_name] = form_field

    from pprint import pprint
    #pprint(field_dict)
    return field_dict
示例#3
0
 class Options:
     roles = {
         'owner': wholelist(),
         'public': whitelist('name', 'bio'),
     }
示例#4
0
 class Options:
     roles = {
         'owner': wholelist(),
     }
示例#5
0
 class Options:
     roles = {"public": wholelist()}
示例#6
0
 class Options:
     roles = {
         'owner': wholelist(),
         'public': whitelist('username', 'text'),
     }
示例#7
0
 class Options:
     roles = {
         'owner': wholelist(),
         'public': whitelist('title','year'),
     }