mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Merged regressiontests and modeltests into the test root.
This commit is contained in:
parent
b3d2ccb5bf
commit
89f40e3624
1050 changed files with 0 additions and 0 deletions
48
tests/custom_pk/models.py
Normal file
48
tests/custom_pk/models.py
Normal file
|
@ -0,0 +1,48 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
14. Using a custom primary key
|
||||
|
||||
By default, Django adds an ``"id"`` field to each model. But you can override
|
||||
this behavior by explicitly adding ``primary_key=True`` to a field.
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import models
|
||||
|
||||
from .fields import MyAutoField
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Employee(models.Model):
|
||||
employee_code = models.IntegerField(primary_key=True, db_column = 'code')
|
||||
first_name = models.CharField(max_length=20)
|
||||
last_name = models.CharField(max_length=20)
|
||||
class Meta:
|
||||
ordering = ('last_name', 'first_name')
|
||||
|
||||
def __str__(self):
|
||||
return "%s %s" % (self.first_name, self.last_name)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Business(models.Model):
|
||||
name = models.CharField(max_length=20, primary_key=True)
|
||||
employees = models.ManyToManyField(Employee)
|
||||
class Meta:
|
||||
verbose_name_plural = 'businesses'
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Bar(models.Model):
|
||||
id = MyAutoField(primary_key=True, db_index=True)
|
||||
|
||||
def __str__(self):
|
||||
return repr(self.pk)
|
||||
|
||||
|
||||
class Foo(models.Model):
|
||||
bar = models.ForeignKey(Bar)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue