Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
1. Създавам нов модел Image в който дефинираме image_url. Мога да добавя и допълнителна логика за снимката, като created-at, modified_at, size и др. В модела Place добавяме image, което е свързано с модела Image чрез ForeignKey. Изтриваме image-url от Place. from django.db import models from django.contrib.auth import get_user_model UserModel = get_user_model() class Image(models.Model): image_url = models.URLField( unique=True, default="https://...", error_messages={ 'unique': "This image URL is already in use! Provide a new one." } ) # Можете да добавите още полета според нуждите си, като например поле за описание на изображението или за категорията му. class Place(models.Model): RATING_CHOICES = [ (1, '1 Star'), (2, '2 Stars'), (3, '3 Stars'), (4, '4 Stars'), (5, '5 Stars'), ] CATEGORY_CHOICES = [ ('Mountain', 'Mountain'), ('Sea', 'Sea'), ('Historical Site', 'Historical Site'), ('City', 'City'), ('Spa', 'Spa'), ('Wine Tourism', 'Wine Tourism') ] name = models.CharField( max_length=200, null=False, blank=False, ) description = models.TextField( null=False, blank=False, ) location = models.CharField( max_length=200, null=False, blank=False, ) rating = models.IntegerField( choices=RATING_CHOICES, null=True, blank=True, ) category = models.CharField(max_length=100, choices=CATEGORY_CHOICES, null=True, blank=True) user = models.ForeignKey(UserModel, on_delete=models.RESTRICT) image = models.ForeignKey(Image, on_delete=models.CASCADE, null=True, blank=True) 2. Променяме формата, като заменяме полето image-url с image. from django import forms from my_holiday.destination.models import Place class PlaceBaseForm(forms.ModelForm): class Meta: model = Place fields = ['name', 'description', 'location', 'rating', 'image', 'category',] class PlaceCreateForm(PlaceBaseForm): pass class PlaceDetailsForm(PlaceBaseForm): pass class PlaceEditForm(PlaceBaseForm): pass НЕ СЪМ СИГУРЕН ДАЛИ ЩЕ РАБОТИ ЗАТОВА ЩЕ ТЕСТВАМ В КОПИЕ НА ПРОЕКТА ВЪРЗАН КЪМ НОВА БАЗА.
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)