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
85 changes: 85 additions & 0 deletions source/includes/model-data/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# start-models
from django.db import models

class Movie(models.Model):
title = models.CharField(max_length=200)
plot = models.TextField(blank=True)
runtime = models.IntegerField(default=0)
released = models.DateTimeField("release date", null=True, blank=True)

class Meta:
db_table = "movies"
managed = False

def __str__(self):
return self.title
# end-models

# start-json-field
from django.db import models

class Movie(models.Model):
title = models.CharField(max_length=200)
plot = models.TextField(blank=True)
runtime = models.IntegerField(default=0)
released = models.DateTimeField("release date", null=True, blank=True)
imdb = models.JSONField(null=True, blank=True)

class Meta:
db_table = "movies"
managed = False

def __str__(self):
return self.title
# end-json-field

# start-array-field
from django.db import models
from django_mongodb_backend.fields import ArrayField

class Movie(models.Model):
title = models.CharField(max_length=200)
plot = models.TextField(blank=True)
runtime = models.IntegerField(default=0)
released = models.DateTimeField("release date", null=True, blank=True)
genres = ArrayField(
models.CharField(max_length=100),
size=5,
null=True,
blank=True)

class Meta:
db_table = "movies"
managed = False

def __str__(self):
return self.title
# end-array-field

# start-embedded-field
from django.db import models
from django_mongodb_backend.models import EmbeddedModel
from django_mongodb_backend.fields import EmbeddedModelField

class Award(EmbeddedModel):
wins = models.IntegerField(default=0)
nominations = models.IntegerField(default=0)
text = models.CharField(max_length=100)

class Meta:
managed = False

class Movie(models.Model):
title = models.CharField(max_length=200)
plot = models.TextField(blank=True)
runtime = models.IntegerField(default=0)
released = models.DateTimeField("release date", null=True, blank=True)
awards = EmbeddedModelField(Award, null=True, blank=True)

class Meta:
db_table = "movies"
managed = False

def __str__(self):
return self.title
# end-embedded-field
5 changes: 3 additions & 2 deletions source/model-data.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ Model Your Data
:titlesonly:
:maxdepth: 1

.. TODO:
Create Models </model-data/models>

.. TODO:
Create Indexes </model-data/models>

In this section, you can learn how to create and customize
Expand All @@ -33,4 +34,4 @@ your Django models for use with MongoDB.
types and Django's model configuration features.

- :ref:`django-indexes`: Learn how to create indexes by modifying your
model classes.
model classes.
Loading
Loading