django imagefield code example
Example 1: on_delete options django
There are seven possible actions to take when such event occurs:
CASCADE: When the referenced object is deleted, also delete the objects that have references to it
(when you remove a blog post for instance, you might want to delete comments as well).
SQL equivalent: CASCADE.
PROTECT: Forbid the deletion of the referenced object.
To delete it you will have to delete all objects that reference it manually.
SQL equivalent: RESTRICT.
RESTRICT: (introduced in Django 3.1) Similar behavior as PROTECT that matches SQL's RESTRICT more accurately. (See django documentation example)
SET_NULL: Set the reference to NULL (requires the field to be nullable).
For instance, when you delete a User, you might want to keep the comments he posted on blog posts,
but say it was posted by an anonymous (or deleted) user.
SQL equivalent: SET NULL.
SET_DEFAULT: Set the default value. SQL equivalent: SET DEFAULT.
SET(...): Set a given value. This one is not part of the SQL standard and is entirely handled by Django.
DO_NOTHING: Probably a very bad idea since this would create integrity issues in your database
(referencing an object that actually doesn't exist). SQL equivalent: NO ACTION.
Example 2: django templateview
from django.urls import path
from django.views.generic import TemplateView
urlpatterns = [
path('about/', TemplateView.as_view(template_name="about.html")),
]
Example 3: django createmany
>>> Category.objects.all().count()
2
>>> Category.objects.bulk_create(
[Category(name="God"),
Category(name="Demi God"),
Category(name="Mortal")]
)
[<Category: God>, <Category: Demi God>, <Category: Mortal>]
>>> Category.objects.all().count()
5
Example 4: image in django
<html>
<head>
{% load staticfiles %}
</head>
<body>
<img src={% static "image.jpg" %}>
</body>
</html>
Example 5: django test imagefield
from django.core.files.uploadedfile import SimpleUploadedFile
newPhoto.image = SimpleUploadedFile(name='test_image.jpg', content=open(image_path, 'rb').read(), content_type='image/jpeg')
Example 6: django model fields list
from posts.model import BlogPost
all_fields = BlogPost._meta.fields
#or
all_fields = BlogPost._meta.get_fields()