I want to exclude those options from the ChoiceField in the forms that has 
been already selected and are into the database. Below is the Code.

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'].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)

```
What am I doing wrong? Ive followed these 2 links here. [link1][1] and 
[link2][2]. Any suggestions please.

Also I am getting the error : **'PublishForm' object has no attribute 
'get'**

Thank you


  [1]: 
https://stackoverflow.com/questions/27910922/django-form-exclude-options-in-select-field
  [2]: https://stackoverflow.com/a/3665999/12280790

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/9d64d338-357d-4544-aa79-bad606b6dd77%40googlegroups.com.

Reply via email to