Standardized declaration of csv_headers on models

This commit is contained in:
Jeremy Stretch
2018-02-02 14:26:16 -05:00
parent 9f07379800
commit cea1c45635
12 changed files with 153 additions and 73 deletions

View File

@@ -27,7 +27,7 @@ class TenantGroupCSVForm(forms.ModelForm):
class Meta:
model = TenantGroup
fields = ['name', 'slug']
fields = TenantGroup.csv_headers
help_texts = {
'name': 'Group name',
}
@@ -60,7 +60,7 @@ class TenantCSVForm(forms.ModelForm):
class Meta:
model = Tenant
fields = ['name', 'slug', 'group', 'description', 'comments']
fields = Tenant.csv_headers
help_texts = {
'name': 'Tenant name',
'comments': 'Free-form comments'

View File

@@ -17,6 +17,8 @@ class TenantGroup(models.Model):
name = models.CharField(max_length=50, unique=True)
slug = models.SlugField(unique=True)
csv_headers = ['name', 'slug']
class Meta:
ordering = ['name']
@@ -26,6 +28,12 @@ class TenantGroup(models.Model):
def get_absolute_url(self):
return "{}?group={}".format(reverse('tenancy:tenant_list'), self.slug)
def to_csv(self):
return (
self.name,
self.slug,
)
@python_2_unicode_compatible
class Tenant(CreatedUpdatedModel, CustomFieldModel):
@@ -57,4 +65,5 @@ class Tenant(CreatedUpdatedModel, CustomFieldModel):
self.slug,
self.group.name if self.group else None,
self.description,
self.comments,
)