Объект 'PublishForm' не имеет атрибута 'get' - PullRequest
0 голосов
/ 06 января 2020

Я сталкиваюсь с ошибкой: у объекта «PublishForm» нет атрибута «get». Я понятия не имею, что не так. После глубокого исследования я не могу найти решение этой проблемы и в конце концов должен был спросить вас, ребята. Ниже приведен мой код

models.py

SEMESTER_CHOICES = (
    ("1", "1"),
    ("2", "2"),
    ("3", "3"),
    ("4", "4"),
    ("5", "5"),
    ("6", "6"),
    ("7", "7"),
    ("8", "8"),
)
class Publish(models.Model):
    dates = models.CharField(max_length=255, choices = SEMESTER_CHOICES)

    def __str__(self):
        return self.dates

form.py


SEMESTER_CHOICES = (
    ("1", "1"),
    ("2", "2"),
    ("3", "3"),
    ("4", "4"),
    ("5", "5"),
    ("6", "6"),
    ("7", "7"),
    ("8", "8"),
)

class PublishForm(forms.ModelForm):


    def __init__(self, **kwargs):
        super(PublishForm, self).__init__(self, **kwargs)
        selected_choices = [i.dates for i in Publish.objects.all()]
                self.fields['dates'].SEMESTER_CHOICES = ({(k, v) for k, v in SEMESTER_CHOICES
                                             if k not in selected_choices})

    class Meta:
        model = Publish
        fields = ['dates']

view.py

def add(request):
    if request.method == 'POST':
        form = PublishForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('mainapp:add')
    else:
        form = PublishForm()

    context = {
        'form' : form
    }
    return render(request, 'mainapp/add.html', context)

Что я здесь отсутствует?

Спасибо

...