# Model Fields # Note: Optional arguments are using defaults that match what Django will use # as a default, e.g. with max_length fields. Doing this as a form of self # documentation and to make it easy to know whether you should override the # default or not. # Note: Optional arguments that are booleans will use the opposite since you # can either not specify them, or override them, e.g. auto_now_add=False. snippet auto ${1:FIELDNAME} = models.AutoField() snippet bool ${1:FIELDNAME} = models.BooleanField(${2:default=True}) snippet char ${1:FIELDNAME} = models.CharField(max_length=${2}${3:, blank=True}) snippet comma ${1:FIELDNAME} = models.CommaSeparatedIntegerField(max_length=${2}${3:, blank=True}) snippet date ${1:FIELDNAME} = models.DateField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True}) snippet datetime ${1:FIELDNAME} = models.DateTimeField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True}) snippet decimal ${1:FIELDNAME} = models.DecimalField(max_digits=${2}, decimal_places=${3}) snippet email ${1:FIELDNAME} = models.EmailField(max_length=${2:75}${3:, blank=True}) snippet file ${1:FIELDNAME} = models.FileField(upload_to=${2:path/for/upload}${3:, max_length=100}) snippet filepath ${1:FIELDNAME} = models.FilePathField(path=${2:"/abs/path/to/dir"}${3:, max_length=100}${4:, match="*.ext"}${5:, recursive=True}${6:, blank=True, }) snippet float ${1:FIELDNAME} = models.FloatField() snippet image ${1:FIELDNAME} = models.ImageField(upload_to=${2:path/for/upload}${3:, height_field=height, width_field=width}${4:, max_length=100}) snippet int ${1:FIELDNAME} = models.IntegerField() snippet ip ${1:FIELDNAME} = models.IPAddressField() snippet nullbool ${1:FIELDNAME} = models.NullBooleanField() snippet posint ${1:FIELDNAME} = models.PositiveIntegerField() snippet possmallint ${1:FIELDNAME} = models.PositiveSmallIntegerField() snippet slug ${1:FIELDNAME} = models.SlugField(max_length=${2:50}${3:, blank=True}) snippet smallint ${1:FIELDNAME} = models.SmallIntegerField() snippet text ${1:FIELDNAME} = models.TextField(${2:blank=True}) snippet time ${1:FIELDNAME} = models.TimeField(${2:auto_now_add=True, auto_now=True}${3:, blank=True, null=True}) snippet url ${1:FIELDNAME} = models.URLField(${2:verify_exists=False}${3:, max_length=200}${4:, blank=True}) snippet xml ${1:FIELDNAME} = models.XMLField(schema_path=${2:None}${3:, blank=True}) # Relational Fields snippet fk ${1:FIELDNAME} = models.ForeignKey(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${5:, to_field=''}) snippet m2m ${1:FIELDNAME} = models.ManyToManyField(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${5:, symmetrical=False}${6:, through=''}${7:, db_table=''}) snippet o2o ${1:FIELDNAME} = models.OneToOneField(${2:OtherModel}${3:, parent_link=True}${4:, related_name=''}${5:, limit_choices_to=}${6:, to_field=''}) # Code Skeletons snippet form class ${1:FormName}(forms.Form): """${2:docstring}""" ${3} snippet model class ${1:ModelName}(models.Model): """${2:docstring}""" ${3} class Meta: ${4} def __unicode__(self): ${5} def save(self, force_insert=False, force_update=False): ${6} @models.permalink def get_absolute_url(self): return ('${7:view_or_url_name}' ${8}) snippet modeladmin class ${1:ModelName}Admin(admin.ModelAdmin): ${2} admin.site.register($1, $1Admin) snippet tabularinline class ${1:ModelName}Inline(admin.TabularInline): model = $1 snippet stackedinline class ${1:ModelName}Inline(admin.StackedInline): model = $1 snippet r2r return render_to_response('${1:template.html}', { ${2} }${3:, context_instance=RequestContext(request)} )