【发布时间】:2019-03-17 02:06:58
【问题描述】:
我有 2 个模型发布和活动
下面是我的帖子模型
class Post(models.Model):
user = models.ForeignKey(User, related_name='posts')
title = models.CharField(max_length=250, unique=True)
slug = models.SlugField(allow_unicode=True, unique=True, max_length=450)
message = models.TextField(max_length=3000)
post_image = models.ImageField(upload_to='post_images/')
然后我有一个事件模型
class Event(models.Model):
user = models.ForeignKey(User, related_name='cook')
post = models.ForeignKey(Post, related_name='recipe')
date = models.DateField()
image = models.ImageField(blank=True, null=True)
下面是我的活动的 CreateView
class CreateEvent(IsVerifiedMixin, CreateView):
model = Event
form_class = EventForm
template_name = 'event/event_form.html'
def form_valid(self, form, *args, **kwargs):
self.object = form.save(commit=False)
event = self.object
user = self.request.user
today = datetime.date.today()
if today + datetime.timedelta(days=3) <= event.date <= today + datetime.timedelta(days=30):
event.user = user
slug = self.kwargs['slug']
post = get_object_or_404(Post, slug=slug)
event.post = post
event.image = post.post_image ###########THIS IS WHERE THE EVENT GETS ITS IMAGE
event.save()
else:
form.add_error(field="date", error="The date has to be more than or equal to 3 days and less than 30 days")
return super().form_invalid(form)
def get_success_url(self, *args, **kwargs):
slug = self.kwargs['slug']
obj = get_object_or_404(Post, slug=slug)
url_ = obj.get_absolute_url()
user = self.request.user
if user.is_authenticated():
return url_
现在问题是当我删除一个事件时。它正在删除 post_image。为什么会这样。我怎样才能阻止这种情况发生
【问题讨论】:
标签: django python-3.x django-models django-views