From 87d0a3384cc263fe0df749a28e2fbc1e1240f043 Mon Sep 17 00:00:00 2001 From: Renaud Parent Date: Fri, 6 Jun 2014 16:16:17 +0000 Subject: Fixed #22778 -- Added a model Meta option to define default_related_name. Thanks jorgecarleitao and mmardini for reviews. --- tests/model_options/models/default_related_name.py | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/model_options/models/default_related_name.py (limited to 'tests/model_options/models') diff --git a/tests/model_options/models/default_related_name.py b/tests/model_options/models/default_related_name.py new file mode 100644 index 0000000000..57b52647e6 --- /dev/null +++ b/tests/model_options/models/default_related_name.py @@ -0,0 +1,41 @@ +from django.db import models + + +class Author(models.Model): + first_name = models.CharField(max_length=128) + last_name = models.CharField(max_length=128) + + +class Editor(models.Model): + name = models.CharField(max_length=128) + bestselling_author = models.ForeignKey(Author) + + +class Book(models.Model): + title = models.CharField(max_length=128) + authors = models.ManyToManyField(Author) + editor = models.ForeignKey(Editor, related_name="edited_books") + + class Meta: + default_related_name = "books" + + +class Store(models.Model): + name = models.CharField(max_length=128) + address = models.CharField(max_length=128) + + class Meta: + abstract = True + default_related_name = "%(app_label)s_%(model_name)ss" + + +class BookStore(Store): + available_books = models.ManyToManyField(Book) + + +class EditorStore(Store): + editor = models.ForeignKey(Editor) + available_books = models.ManyToManyField(Book) + + class Meta: + default_related_name = "editor_stores" -- cgit v1.3