Как исключить ключевое поле иностранца из формы - PullRequest
0 голосов
/ 07 ноября 2019

Имея свои модели Yacht и Offer, я создал промежуточную таблицу OfferHasYacht, чтобы связать яхту с предложением. Я уже создал экземпляры для обеих моделей.

Я хочу исключить в моей форме поле date_created из модели предложения, поскольку при попытке включить его в форму выдается ошибка:

TypeError: __str__ вернул не строковое значение (тип datetime.datetime)

Чтобы избежать этого, я хочу исключить только это поле, а не поле примечаний из моей модели предложения.

Как я могу это сделать?

models.py

class Yacht(models.Model):
    name = models.CharField(max_length=50, verbose_name="Name")
    price_per_day=models.DecimalField("Price(€) / Day", max_digits=8, decimal_places=2, default=0,blank=True)
    passengers = models.IntegerField("Passengers",blank=True,null=True)

    def __str__(self):
        return self.name



class Offer(models.Model):
    date_created = models.DateTimeField("Date of Offer", null=True,blank=True, default=datetime.datetime.now)
    notes=models.CharField("Notes",max_length=100, blank=True)

    def __str__(self):
        return self.date_created




class OfferHasYacht(models.Model):
    offer=models.ForeignKey(Offer,null=True,verbose_name="Offer",on_delete = models.CASCADE)
    yacht=models.ForeignKey(Yacht,null=True,verbose_name="Yacht",on_delete = models.CASCADE)

    def __str__(self):
        return self.yacht.name

forms.py

class OfferHasYachtForm(ModelForm):

    class Meta:
        model = OfferHasYacht
        #exclude=('',)
        fields = ('yacht','offer',)

При таком решении возникает ошибка:Ошибка типа: str возвращено не в виде строки (введите datetime.datetime)

Как исключить поле date_created модели предложения? или Как я могу обработатьполе date_created, чтобы не вызывать эту ошибку?

1 Ответ

0 голосов
/ 07 ноября 2019

вы можете использовать auto_now_add=True на модели, он будет обрабатывать все сам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...