Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions tests/admin_filters/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django_singlestore.schema import ModelStorageManager


class Book(models.Model):
Expand All @@ -20,6 +21,7 @@ class Book(models.Model):
verbose_name="Verbose Contributors",
related_name="books_contributed",
blank=True,
through="BookUser",
)
employee = models.ForeignKey(
"Employee",
Expand Down Expand Up @@ -48,11 +50,15 @@ def __str__(self):
class ImprovedBook(models.Model):
book = models.OneToOneField(Book, models.CASCADE)

objects = ModelStorageManager("ROWSTORE REFERENCE")


class Department(models.Model):
code = models.CharField(max_length=4, unique=True)
description = models.CharField(max_length=50, blank=True, null=True)

objects = ModelStorageManager("ROWSTORE REFERENCE")

def __str__(self):
return self.description

Expand All @@ -64,6 +70,14 @@ class Employee(models.Model):
def __str__(self):
return self.name

class BookUser(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)

class Meta:
unique_together = (('book', 'user'),)
db_table = "admin_filters_book_user"


class TaggedItem(models.Model):
tag = models.SlugField()
Expand Down
15 changes: 15 additions & 0 deletions tests/filtered_relation/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django_singlestore.schema import ModelStorageManager


class Author(models.Model):
Expand All @@ -9,10 +10,12 @@ class Author(models.Model):
"Book",
related_name="preferred_by_authors",
related_query_name="preferred_by_authors",
through="AuthorBook",
)
content_type = models.ForeignKey(ContentType, models.CASCADE, null=True)
object_id = models.PositiveIntegerField(null=True)
content_object = GenericForeignKey()
objects = ModelStorageManager("ROWSTORE REFERENCE")


class Editor(models.Model):
Expand Down Expand Up @@ -40,9 +43,21 @@ class Book(models.Model):
state = models.CharField(max_length=9, choices=STATES, default=AVAILABLE)


class AuthorBook(models.Model):
author = models.ForeignKey(Author, on_delete=models.CASCADE)
book = models.ForeignKey(Book, on_delete=models.CASCADE)

class Meta:
unique_together = (('author', 'book'),)
db_table = "filtered_relation_author_book"


class Borrower(models.Model):
name = models.CharField(max_length=50, unique=True)

objects = ModelStorageManager("REFERENCE")



class Reservation(models.Model):
NEW = "new"
Expand Down
2 changes: 1 addition & 1 deletion tests/filtered_relation/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ def test_union(self):
"book", condition=Q(book__title__iexact="the book by jane a")
),
).filter(book_jane__isnull=False)
self.assertSequenceEqual(qs1.union(qs2), [self.author1, self.author2])
self.assertCountEqual(qs1.union(qs2), [self.author1, self.author2])

@skipUnlessDBFeature("supports_select_intersection")
def test_intersection(self):
Expand Down
21 changes: 19 additions & 2 deletions tests/m2m_multiple/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,31 @@ class Article(models.Model):
headline = models.CharField(max_length=50)
pub_date = models.DateTimeField()
primary_categories = models.ManyToManyField(
Category, related_name="primary_article_set"
Category, related_name="primary_article_set", through="ArticleCategory"
)
secondary_categories = models.ManyToManyField(
Category, related_name="secondary_article_set"
Category, related_name="secondary_article_set", through="ArticleCategoryS"
)

class Meta:
ordering = ("pub_date",)

def __str__(self):
return self.headline

class ArticleCategory(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)

class Meta:
unique_together = (('article', 'category'),)
db_table = "m2m_multiple_article_category"


class ArticleCategoryS(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)

class Meta:
unique_together = (('article', 'category'),)
db_table = "m2m_multiple_article_category_second"
12 changes: 10 additions & 2 deletions tests/managers_regress/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,20 @@ def __str__(self):

class RelationModel(models.Model):
fk = models.ForeignKey(RelatedModel, models.CASCADE, related_name="test_fk")

m2m = models.ManyToManyField(RelatedModel, related_name="test_m2m")
m2m = models.ManyToManyField("RelatedModel", related_name="test_m2m", through="RelationModelRelatedModel")

gfk_ctype = models.ForeignKey(ContentType, models.SET_NULL, null=True)
gfk_id = models.IntegerField(null=True)
gfk = GenericForeignKey(ct_field="gfk_ctype", fk_field="gfk_id")

def __str__(self):
return str(self.pk)


class RelationModelRelatedModel(models.Model):
relationmodel = models.ForeignKey(RelationModel, on_delete=models.CASCADE)
relatedmodel = models.ForeignKey(RelatedModel, on_delete=models.CASCADE)

class Meta:
unique_together = (('relationmodel', 'relatedmodel'),)
db_table = "managers_regress_relationmodel_relatedmodel"
8 changes: 4 additions & 4 deletions tests/migrations/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -3053,9 +3053,9 @@ def test_optimization(self):
with open(initial_migration_file) as fp:
content = fp.read()
self.assertIn(
"('bool', models.BooleanField"
'("bool", models.BooleanField'
if HAS_BLACK
else '("bool", models.BooleanField',
else "('bool', models.BooleanField",
content,
)
self.assertEqual(
Expand All @@ -3081,9 +3081,9 @@ def test_optimization_no_verbosity(self):
with open(initial_migration_file) as fp:
content = fp.read()
self.assertIn(
"('bool', models.BooleanField"
'("bool", models.BooleanField'
if HAS_BLACK
else '("bool", models.BooleanField',
else "('bool', models.BooleanField",
content,
)
self.assertEqual(out.getvalue(), "")
Expand Down
4 changes: 4 additions & 0 deletions tests/model_formsets_regress/models.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
from django.db import models
from django_singlestore.schema import ModelStorageManager


class User(models.Model):
username = models.CharField(max_length=12, unique=True)
serial = models.IntegerField()

objects = ModelStorageManager("REFERENCE")


class UserSite(models.Model):
user = models.ForeignKey(User, models.CASCADE, to_field="username")
Expand All @@ -14,6 +17,7 @@ class UserSite(models.Model):
class UserProfile(models.Model):
user = models.ForeignKey(User, models.CASCADE, unique=True, to_field="username")
about = models.TextField()
objects = ModelStorageManager("REFERENCE")


class UserPreferences(models.Model):
Expand Down
11 changes: 10 additions & 1 deletion tests/signals/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,21 @@ def __str__(self):

class Book(models.Model):
name = models.CharField(max_length=20)
authors = models.ManyToManyField(Author)
authors = models.ManyToManyField("Author", through="BookAuthor")

def __str__(self):
return self.name


class BookAuthor(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE)
author = models.ForeignKey(Author, on_delete=models.CASCADE)

class Meta:
unique_together = (('book', 'author'),)
db_table = "signals_book_author"


class Page(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE)
text = models.TextField()
Loading