Я хочу получить не-str объекты одной модели в другую модель ...
Это мои модели:
class Selectdatefield(models.Model):
User = models.OneToOneField(settings.AUTH_USER_MODEL,related_name="Users",on_delete=models.CASCADE,null=True,blank=True)
Start_Date = models.DateField(blank=True, null=True)
End_Date = models.DateField(blank=True, null=True)
class Journal(models.Model):
User = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
company = models.ForeignKey(Company,on_delete=models.CASCADE,null=True,blank=True,related_name='Companyname')
start_date = models.ForeignKey(Selectdatefield,on_delete=models.CASCADE,null=True,blank=True,related_name='startdate')
end_date = models.ForeignKey(Selectdatefield,on_delete=models.CASCADE,null=True,blank=True,related_name='enddate')
Date = models.DateField()
By = models.ForeignKey(Ledger1,on_delete=models.CASCADE,related_name='Debitledgers')
To = models.ForeignKey(Ledger1,on_delete=models.CASCADE,related_name='Creditledgers')
Debit = models.DecimalField(max_digits=10,decimal_places=2)
Credit = models.DecimalField(max_digits=10,decimal_places=2)
Я пробовал это в своем журнале создать представление:
class journalCreateView(LoginRequiredMixin,CreateView):
model = journal
form_class = journalForm
def form_valid(self, form):
form.instance.User = self.request.user
c = company.objects.get(pk=self.kwargs['pk'])
form.instance.Company = c
s = selectdatefield.objects.get(pk=self.kwargs['pk3'])
form.instance.start_date = s
form.instance.end_date = s.End_Date
return super(journalCreateView, self).form_valid(form)
Я хочу автоматически выбрать дату окончания selectdate в моей модели журнала при отправке формы журнала ...
Но получаю эту ошибку:
ValueError: Cannot assign "datetime.date(2018, 10, 6)": "journal.end_date" must be a "selectdatefield" instance.
Ошибка в этой строке кода:
form.instance.end_date = s.End_Date
Может кто-нибудь PLZ сказать мне, что я не так делаю в моем коде ???