mirror of
https://github.com/django/django.git
synced 2024-11-28 21:43:13 +01:00
97 lines
2.3 KiB
Python
97 lines
2.3 KiB
Python
"""
|
|
Models for testing various aspects of the django.contrib.admindocs app.
|
|
"""
|
|
|
|
from django.db import models
|
|
from django.utils.functional import cached_property
|
|
|
|
|
|
class Company(models.Model):
|
|
name = models.CharField(max_length=200)
|
|
|
|
|
|
class Group(models.Model):
|
|
name = models.CharField(max_length=200)
|
|
|
|
|
|
class Family(models.Model):
|
|
last_name = models.CharField(max_length=200)
|
|
|
|
|
|
class Person(models.Model):
|
|
"""
|
|
Stores information about a person, related to :model:`myapp.Company`.
|
|
|
|
**Notes**
|
|
|
|
Use ``save_changes()`` when saving this object.
|
|
|
|
``company``
|
|
Field storing :model:`myapp.Company` where the person works.
|
|
|
|
(DESCRIPTION)
|
|
|
|
.. raw:: html
|
|
:file: admin_docs/evilfile.txt
|
|
|
|
.. include:: admin_docs/evilfile.txt
|
|
"""
|
|
|
|
first_name = models.CharField(max_length=200, help_text="The person's first name")
|
|
last_name = models.CharField(max_length=200, help_text="The person's last name")
|
|
company = models.ForeignKey(Company, models.CASCADE, help_text="place of work")
|
|
family = models.ForeignKey(Family, models.SET_NULL, related_name="+", null=True)
|
|
groups = models.ManyToManyField(Group, help_text="has membership")
|
|
|
|
def _get_full_name(self):
|
|
return "%s %s" % (self.first_name, self.last_name)
|
|
|
|
def rename_company(self, new_name):
|
|
self.company.name = new_name
|
|
self.company.save()
|
|
return new_name
|
|
|
|
def dummy_function(self, baz, rox, *some_args, **some_kwargs):
|
|
return some_kwargs
|
|
|
|
def dummy_function_keyword_only_arg(self, *, keyword_only_arg):
|
|
return keyword_only_arg
|
|
|
|
def all_kinds_arg_function(self, position_only_arg, /, arg, *, kwarg):
|
|
return position_only_arg, arg, kwarg
|
|
|
|
@property
|
|
def a_property(self):
|
|
return "a_property"
|
|
|
|
@cached_property
|
|
def a_cached_property(self):
|
|
return "a_cached_property"
|
|
|
|
def suffix_company_name(self, suffix="ltd"):
|
|
return self.company.name + suffix
|
|
|
|
def add_image(self):
|
|
pass
|
|
|
|
def delete_image(self):
|
|
pass
|
|
|
|
def save_changes(self):
|
|
pass
|
|
|
|
def set_status(self):
|
|
pass
|
|
|
|
def get_full_name(self):
|
|
"""
|
|
Get the full name of the person
|
|
"""
|
|
return self._get_full_name()
|
|
|
|
def get_status_count(self):
|
|
return 0
|
|
|
|
def get_groups_list(self):
|
|
return []
|