'Create regular model fields.'

def build_standard_field(self, field_name, model_field):

    field_mapping = ClassLookupDict(self.serializer_field_mapping)
    field_class = field_mapping[model_field]
    field_kwargs = get_field_kwargs(field_name, model_field)
    if (model_field.one_to_one and model_field.primary_key):
        field_class = self.serializer_related_field
        field_kwargs[u'queryset'] = model_field.related_model.objects
    if (u'choices' in field_kwargs):
        field_class = self.serializer_choice_field
        valid_kwargs = set((u'read_only', u'write_only', u'required', u'default', u'initial', u'source', u'label', u'help_text', u'style', u'error_messages', u'validators', u'allow_null', u'allow_blank', u'choices'))
        for key in list(field_kwargs.keys()):
            if (key not in valid_kwargs):
                field_kwargs.pop(key)
    if (not issubclass(field_class, ModelField)):
        field_kwargs.pop(u'model_field', None)
    if ((not issubclass(field_class, CharField)) and (not issubclass(field_class, ChoiceField))):
        field_kwargs.pop(u'allow_blank', None)
    if (postgres_fields and isinstance(model_field, postgres_fields.ArrayField)):
        child_model_field = model_field.base_field
        (child_field_class, child_field_kwargs) = self.build_standard_field(u'child', child_model_field)
        field_kwargs[u'child'] = child_field_class(**child_field_kwargs)
    return (field_class, field_kwargs)
