def _relatedfield(self): attrs = [] if self.field.relation == self.field.model: attrs.append("'self'") else: if self.field.relation: attrs.append(self.field.relation.name) if self.field.related_name: attrs.append('related_name=%s' % code_string(self.field.related_name)) if self.field.to_field: attrs.append('to_field=%s' % code_string(self.field.to_field)) attrs.extend(self._common_attrs()) return '%s(%s)' % (self.field.type, ', '.join(attrs))
def _common_attrs(self): attributes = [] if self.field.verbose_name: attributes.append('verbose_name=%s' % code_string(self.field.verbose_name)) if self.field.primary_key: attributes.append('primary_key=True') if self.field.null: attributes.append('null=True') if self.field.blank: attributes.append('blank=True') if self.field.unique: attributes.append('unique=True') if self.field.db_index: attributes.append('db_index=True') if not self.field.editable: attributes.append('editable=False') if self.field.default: val = code_string(self.field.default) if self.field.type in ('BigIntegerField', 'BooleanField', 'FloatField', 'IntegerField', 'IntegerField','NullBooleanField','PositiveIntegerField', 'PositiveSmallIntegerField','SmallIntegerField'): val = self.field.default attributes.append('default=%s' % val) if self.field.help_text: attributes.append('help_text=%s' % code_string(self.field.help_text)) return attributes
def FileField(self): attrs = [] if not self.field.upload_to: attrs.append('upload_to=%s' % code_string(self.field.upload_to)) attrs.extend(self._common_attrs()) return '%s(%s)' % (self.field.type, ', '.join(attrs))