summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_widgets/models.py
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-01-16 15:32:31 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-01-16 15:32:31 +0000
commitf212b24b6469b66424354bf970f3051df180b88d (patch)
tree379b8102f38ddde424cb0005cf2f468d409f691e /tests/regressiontests/admin_widgets/models.py
parentd579e716fef9f06f04861815cf949630d8633271 (diff)
Cleaned up and refactored `ModelAdmin.formfield_for_dbfield`:
* The new method uses an admin configuration option (`formfield_overrides`); this makes custom admin widgets especially easy. * Refactored what was left of `formfield_for_dbfield` into a handful of smaller methods so that it's easier to hook in and return custom fields where needed. * These `formfield_for_*` methods now pass around `request` so that you can easily modify fields based on request (as in #3987). Fixes #8306, #3987, #9148. Thanks to James Bennet for the original patch; Alex Gaynor and Brian Rosner also contributed. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9760 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_widgets/models.py')
-rw-r--r--tests/regressiontests/admin_widgets/models.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_widgets/models.py b/tests/regressiontests/admin_widgets/models.py
index ddfc6c2cb6..345d73b0ea 100644
--- a/tests/regressiontests/admin_widgets/models.py
+++ b/tests/regressiontests/admin_widgets/models.py
@@ -2,9 +2,12 @@
from django.conf import settings
from django.db import models
from django.core.files.storage import default_storage
+from django.contrib.auth.models import User
class Member(models.Model):
name = models.CharField(max_length=100)
+ birthdate = models.DateTimeField(blank=True, null=True)
+ gender = models.CharField(max_length=1, blank=True, choices=[('M','Male'), ('F', 'Female')])
def __unicode__(self):
return self.name
@@ -40,6 +43,28 @@ class Inventory(models.Model):
def __unicode__(self):
return self.name
+
+class Event(models.Model):
+ band = models.ForeignKey(Band)
+ date = models.DateField(blank=True, null=True)
+ start_time = models.TimeField(blank=True, null=True)
+ description = models.TextField(blank=True)
+ link = models.URLField(blank=True)
+ min_age = models.IntegerField(blank=True, null=True)
+
+class Car(models.Model):
+ owner = models.ForeignKey(User)
+ make = models.CharField(max_length=30)
+ model = models.CharField(max_length=30)
+
+ def __unicode__(self):
+ return u"%s %s" % (self.make, self.model)
+
+class CarTire(models.Model):
+ """
+ A single car tire. This to test that a user can only select their own cars.
+ """
+ car = models.ForeignKey(Car)
__test__ = {'WIDGETS_TESTS': """
>>> from datetime import datetime