Skip to content

Commit 158c068

Browse files
committed
Base working exampe project
1 parent a2dc431 commit 158c068

File tree

13 files changed

+128
-1
lines changed

13 files changed

+128
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ __pycache__/
33
*.py[cod]
44
*$py.class
55

6+
*db.sqlite3
7+
68
# C extensions
79
*.so
810

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,20 @@
11
# django-admin-search-builder
22
Django app that makes you able to build advanced queries via admin filters UI
3+
4+
This Application aims to give you the faster and easier way to do advanced query via Django Admin ModelAdmin UI, using the Django's ORM.
5+
See example projects and gallery.
6+
7+
#### Example
8+
9+
````
10+
pip install -r requirements.xt
11+
12+
cd example
13+
./manage.py migrate
14+
./manage.py createsuperuser
15+
./manage.py loaddata identity_dumps.json
16+
./manage.py runserver
17+
````
18+
19+
#### Gallery
20+
![Alt text](images/1.png)

example/example/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
'django.contrib.messages',
3939
'django.contrib.staticfiles',
4040

41-
'admin_adv_search_builder'
41+
'admin_adv_search_builder',
42+
'identity'
4243
]
4344

4445
MIDDLEWARE = [

example/identity/__init__.py

Whitespace-only changes.

example/identity/admin.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from admin_adv_search_builder.filters import AdvancedSearchBuilder
2+
from django.contrib import admin
3+
4+
from . models import Identity
5+
6+
7+
@admin.register(Identity)
8+
class IdentityAdmin(admin.ModelAdmin):
9+
list_display = ('name', 'surname','mail', 'created')
10+
search_fields = ('name', 'surname','common_name',
11+
'mail', 'telephoneNumber')
12+
list_filter = ( #'created',
13+
AdvancedSearchBuilder,)
14+
readonly_fields = ('created',)

example/identity/apps.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.apps import AppConfig
2+
3+
4+
class IdentityConfig(AppConfig):
5+
name = 'identity'
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Generated by Django 3.0.6 on 2020-05-28 14:33
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = [
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='Identity',
16+
fields=[
17+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('personal_title', models.CharField(blank=True, max_length=12, null=True)),
19+
('name', models.CharField(help_text='Name', max_length=256)),
20+
('surname', models.CharField(max_length=135)),
21+
('mail', models.EmailField(max_length=254)),
22+
('telephoneNumber', models.CharField(blank=True, max_length=135, null=True)),
23+
('common_name', models.CharField(blank=True, help_text='Common Name', max_length=256, null=True)),
24+
('country', models.CharField(blank=True, help_text='Country', max_length=128, null=True)),
25+
('city', models.CharField(blank=True, help_text='City', max_length=128, null=True)),
26+
('tin', models.CharField(help_text="Tax Payer's Number or UniqueID", max_length=16, null=True)),
27+
('gender', models.CharField(blank=True, choices=[('0', 'Not know'), ('1', 'Male'), ('2', 'Female'), ('9', 'Not specified')], max_length=3, null=True)),
28+
('date_of_birth', models.DateField(null=True)),
29+
('place_of_birth', models.CharField(max_length=128, null=True)),
30+
('description', models.TextField(blank=True, max_length=1024, null=True)),
31+
('created', models.DateTimeField(auto_now_add=True)),
32+
],
33+
options={
34+
'verbose_name_plural': 'Digital Identities',
35+
'ordering': ['created'],
36+
},
37+
),
38+
]

example/identity/migrations/__init__.py

Whitespace-only changes.

example/identity/models.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import os
2+
3+
from django.conf import settings
4+
from django.db import models
5+
from django.utils.translation import ugettext_lazy as _
6+
7+
8+
class Identity(models.Model):
9+
"""
10+
Provides registry
11+
"""
12+
personal_title = models.CharField(max_length=12, blank=True, null=True)
13+
name = models.CharField(max_length=256, blank=False, null=False,
14+
help_text=_('Name'))
15+
surname = models.CharField(max_length=135, blank=False, null=False)
16+
mail = models.EmailField()
17+
telephoneNumber = models.CharField(max_length=135, blank=True, null=True)
18+
common_name = models.CharField(max_length=256, blank=True, null=True,
19+
help_text=_('Common Name'))
20+
country = models.CharField(max_length=128, blank=True, null=True,
21+
help_text=_('Country'))
22+
city = models.CharField(max_length=128, blank=True, null=True,
23+
help_text=_('City'))
24+
tin = models.CharField(help_text=_('Tax Payer\'s Number or UniqueID'),
25+
max_length=16, blank=False, null=True)
26+
gender = models.CharField(max_length=3, blank=True, null=True,
27+
choices=(('0', _('Not know')),
28+
('1', _('Male')),
29+
('2', _('Female')),
30+
('9', _('Not specified'))))
31+
date_of_birth = models.DateField(blank=False, null=True)
32+
place_of_birth = models.CharField(max_length=128,
33+
blank=False, null=True, help_text='')
34+
description = models.TextField(max_length=1024, blank=True, null=True)
35+
created = models.DateTimeField(auto_now_add=True)
36+
37+
class Meta:
38+
ordering = ['created',]
39+
verbose_name_plural = _("Digital Identities")
40+
41+
def __str__(self):
42+
return '{} {}'.format(self.name, self.surname)

example/identity/tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

0 commit comments

Comments
 (0)