Wednesday, April 30, 2014

Python/Django based Enterprise framowrk

Dear Django users,

I am working on ERP solution for my company and I used to use Django as a web application framework. To automatise process of creating CRUD forms I use Django Admin with Django Suit package. It works pretty well. BUT it does not gives features for full customisation because it is DYNAMIC form generation approach.

So, now, I am looking for frameworks based on Django which will give features for following issues:

- rich CRUD views generation (list/table, details, edit and create forms)
- ready to use file upload feature
- rich reporting feature
- and full customisation of code/view (I think it should generate python codes rather than generate dynamic views)

Thanks.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5daa1b65-329a-4899-b54c-1236ece96fab%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Version number comparison and beta

Hi all
I'm trying to update some existing code so that it will be compatible with 1.7, in particular the use of settings.AUTH_USER_MODEL instead of get_user_model().
Given the differences I'm going to have to check the version numbers and then have two alternatives eg:

if StrictVersion(get_version()) >= StrictVersion('1.7'):
new code
else:
old code

However the current version number for 1.7 is 1.7b3, which is treated as being less than 1.7 according to StrictVersion.
In order to get it to work the way I want right now I'm going to have to compare with a version number such as 1.7a1,
but this is going to look pretty ugly going forward.

What is the best practice for doing version number comparisons taking into account the existence of beta version numbers?

Thanks
Kevin

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/c74612d3-87c7-4f4e-a709-416038fe1860%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: Django ユーザー登録について

Hello,

I have this error:  What's happening,
Exception Type: DoesNotExist
Exception Value:
Leavework matching query does not exist.


This is my Models.py

class Leavework(models.Model):
    user = models.ForeignKey(User)
    get_off_work_date = models.DateTimeField(default=datetime.now()+timedelta(days=30))

    def __unicode__(self):
          return unicode(self.id)


This is my Views.py:

def leavework(request):
    if request.POST:
        leavework = Leavework.objects.get(pk = request.user.id )
        form = LeaveworkForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponse('Got off work')
    else:
        form = LeaveworkForm()
    args = {}
    args.update(csrf(request))
    args['form'] = form
    return render_to_response('leave.html', args)






2014年4月29日火曜日 16時00分29秒 UTC+9 Lachlan Musicman:
Hito,

I was a little rough last night. Of course this list is here for
support and help within the Django community. Having said that,
getting a feel for how to ask for support, and to show a little bit of
self help effort goes a long way.

I hope you are now having success?

cheers
L.

On 28 April 2014 23:40, Lachlan Musicman <dat...@gmail.com> wrote:
> Hito san,
>
> I don't mean to be rude mate, but Google is really really awesome -
> just pump in the error message
>
> http://stackoverflow.com/questions/10388033/csrf-verification-failed-request-aborted
>
> L.
>
> On 28 April 2014 16:09, hito koto <hitoko...@gmail.com> wrote:
>> Hi, Thank you!
>>
>> I write to Views.py :
>> def attendance(request, user_id):
>>     Attendence_data.objects.get(pk=user_id)
>>
>>     if request.method == "POST":
>>         form = Attendance_dataForm(request.POST, instance = attendance)
>>         if form.is_valid():
>>             form.save()
>>             return
>> HttpResponseRedirect('/ihttest/ihttcs_test/tcsarticles/get/%s' % user.id)
>>
>>     else:
>>         form = Attendance_dataForm()
>>     args = {}
>>     args.update(csrf(request))
>>     args['form'] = form
>>     return render_to_response('staff_data.html', args,  context_instance =
>> RequestContext(request, {'form': form}))
>>
>> But i also have error:
>>
>> Forbidden (403)
>>
>> CSRF verification failed. Request aborted.
>>
>> Help
>>
>> Reason given for failure:
>>
>>     CSRF token missing or incorrect.
>>
>>
>> In general, this can occur when there is a genuine Cross Site Request
>> Forgery, or when Django's CSRF mechanism has not been used correctly. For
>> POST forms, you need to ensure:
>>
>> Your browser is accepting cookies.
>> The view function uses RequestContext for the template, instead of Context.
>> In the template, there is a {% csrf_token %} template tag inside each POST
>> form that targets an internal URL.
>> If you are not using CsrfViewMiddleware, then you must use csrf_protect on
>> any views that use the csrf_token template tag, as well as those that accept
>> the POST data.
>>
>> You're seeing the help section of this page because you have DEBUG = True in
>> your Django settings file. Change that to False, and only the initial error
>> message will be displayed.
>>
>> You can customize this page using the CSRF_FAILURE_VIEW setting.
>>
>>
>>
>>
>>
>> 2014年4月28日月曜日 14時41分39秒 UTC+9 jjmutumi:
>>>
>>> Hi there, I think your problem is you have not initialized attendance
>>> that you use at `instance = attendance`. So it is just using the name
>>> of your view function which also happens to be 'attendance' and
>>> showing you that error.
>>>
>>> Initialize to model object with the usual:
>>> Attendence_data.objects.get(pk=user_id) or if you are using
>>> djago.shortcuts: get_object_or_404(Attendence_data, pk=user_id)
>>>
>>> On 4/28/14, hito koto <hitoko...@gmail.com> wrote:
>>> > Ok, Thank you!
>>> >
>>> > this is my models.py:
>>> >
>>> >
>>> > from django.db import models
>>> > from django.contrib.auth.models import User
>>> > #from owner.models import GroupSchedule
>>> >
>>> >
>>> >
>>> > class GroupRestrictionMixin(object):
>>> >     group_field = 'group'
>>> >
>>> >     def dispatch(request, *args, **kwargs):
>>> >         self.request = request
>>> >         self.args = args
>>> >         self.kwargs = kwargs
>>> >
>>> >         obj_group = getattr(self.get_object(), self.group_field)
>>> >         user_groups = request.user.groups
>>> >
>>> >         if obj_group not in user_groups:
>>> >             raise PermissionDenied
>>> >
>>> >         return super(GroupRestrictionMixin, self).dispatch(request,
>>> > *args,
>>> > **kwargs)
>>> >
>>> >
>>> > class User(models.Model):
>>> >     user_name = models.CharField(max_length=255, help_text="氏名(名)")
>>> >     first_kana = models.CharField(max_length=255, help_text="ふりがな(性)")
>>> >     last_kana  = models.CharField(max_length=255, help_text="ふりがな(名)")
>>> >     employee_number = models.CharField(blank=True, max_length=22,
>>> > help_text="社員番号")
>>> >     gender = models.CharField(max_length=6, choices=(('male',
>>> > '男性'),('female', '女性')), help_text="性別" )
>>> >     created_at = models.DateTimeField(auto_now_add=True,
>>> > help_text="登録日")
>>> >
>>> >
>>> > class Attendance_data(models.Model):
>>> >     user = models.ForeignKey(User)
>>> >     user_name = models.CharField(max_length=255, help_text="氏名(名)")
>>> >     employee_number = models.CharField(blank=True, max_length=22,
>>> > help_text="社員番号")
>>> >
>>> >     def __unicode__(self):
>>> >         return self.user_name, employee_number
>>> >
>>> > class Leave_work(models.Model):
>>> >     user = models.ForeignKey(User)
>>> >     user_name = models.CharField(max_length=255, help_text="氏名(名)")
>>> >     employee_number = models.CharField(blank=True, max_length=22,
>>> > help_text="社員番号")
>>> >
>>> >     def __unicode__(self):
>>> >         return self.user_name, employee_unmber
>>> >
>>> > this is my Views.py:
>>> >
>>> > def staff_data(request, user_id=1):
>>> >     user = get_object_or_404(User, pk=user_id)
>>> >     return render_to_response("staff_data.html",
>>> >                              {"user": User.objects.get(id=user_id) })
>>> >
>>> > def attendance(request, user_id):
>>> >     if request.method == "POST":
>>> >
>>> >         form = Attendance_dataForm(request.POST, instance = attendance)
>>> >         if form.is_valid():
>>> >             form.save()
>>> >             return HttpResponseRedirect('/articles/get/%s' % user.id)
>>> >     else:
>>> >         form = Attendance_dataForm()
>>> >     args = {}
>>> >     args.update(csrf(request))
>>> >     args['form'] = form
>>> >     return render_to_response('staff_data.html', args,  context_instance
>>> > =
>>> > RequestContext(request, {'form': form}))
>>> >
>>> > def leave_work(request, user_id):
>>> >     if request.method == "POST":
>>> >         form = Leave_workForm(request.POST, instance = leave_work)
>>> >         if form.is_valid():
>>> >             form.save()
>>> >             return HttpResponseRedirect('/articles/get/%s' % user.id)
>>> >     else:
>>> >         form = Leave_workForm()
>>> >     c = {}
>>> >     c.update(csrf(request))
>>> >     c['form'] = form
>>> >     return render_to_response('staff_data.html', c,  context_instance =
>>> > RequestContext(request, { 'form': form}))
>>> >
>>> > this is my forms.py:
>>> >
>>> > class ArticleForm(forms.ModelForm):
>>> >
>>> >     class Meta:
>>> >         model = User
>>> >         fields = ('user_name','first_kana', 'last_kana',
>>> > 'employee_number','birthday')
>>> >     user_name = forms.CharField(label="氏名", error_messages={'required':
>>> > ''}, help_text='必須')
>>> >     first_kana =
>>> > forms.CharField(label="ふりがな(性)",error_messages={'required': ''},
>>> > help_text='必須')
>>> >     last_kana =
>>> > forms.CharField(label="ふりがな(名)",error_messages={'required':
>>> >
>>> > ''}, help_text='必須')
>>> >     employee_number = forms.CharField(label="社員番号", required=False)
>>> >     birthday = forms.CharField(label="生年月日", required=False)
>>> >
>>> > class Attendance_dataForm(forms.ModelForm):
>>> >
>>> >     class Meta:
>>> >         model = Attendance_data
>>> >         fields = ('user_name','employee_number')
>>> >
>>> >     user_name = forms.CharField(label="氏名", error_messages={'required':
>>> > ''}, help_text='必須')
>>> >     employee_number =
>>> > forms.CharField(label="社員番号",error_messages={'required': ''},
>>> > help_text='必須')
>>> >
>>> > class Leave_workForm(forms.ModelForm):
>>> >
>>> >     class Meta:
>>> >         model = Leave_work
>>> >         fields = ('user_name', 'employee_number')
>>> >     user_name = forms.CharField(label="氏名", error_messages={'required':
>>> > ''}, help_text='必須')
>>> >     employee_number = forms.CharField(label="社員番号",
>>> > error_messages={'required': ''}, help_text='必須')
>>> >
>>> > and this is my staff_data.html:
>>> >
>>> > <form method="post" action="/articles/attendance/{{ user.id }}/"
>>> > class="">
>>> > {% csrf_token %}
>>> > <table>
>>> >     <tbody>
>>> >         <tr>
>>> >        <td style="text-align:center; background-color: transparent;
>>> > "><button type="submit" name="submit" >ttendance</button> </td>
>>> >         </tr>
>>> >   </tbody>
>>> > </table>
>>> > </form>
>>> >
>>> > <form method="POST" action="/articles/leave_work/{{ user.id }}/"
>>> > class="">
>>> > {% csrf_token %}
>>> > <table><tr>
>>> > <td style="text-align:center; background-color: transparent; "><button
>>> > type="submit" name="submit" >Leave_work</button></td>
>>> > </tr>
>>> > </table>
>>> > </form>
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > 2014年4月28日月曜日 12時23分49秒 UTC+9 Lachlan Musicman:
>>> >>
>>> >> You need to provide more information: like the models, and the copy of
>>> >> the
>>> >>
>>> >> "copy and paste view" output.
>>> >>
>>> >>
>>> >> cheers
>>> >> L.
>>> >>
>>> >>
>>> >> On 28 April 2014 12:41, hito koto <hitoko...@gmail.com
>>> >> <javascript:>>wrote:
>>> >>
>>> >>> Hi,
>>> >>> I have this error , why?
>>> >>>
>>> >>>  Request Method: POST  Request URL: http://articles/attendance/11/
>>> >>> Django
>>> >>> Version: 1.6.2  Exception Type: AttributeError  Exception Value:
>>> >>>
>>> >>> 'function' object has no attribute '_meta'
>>> >>>
>>> >>>  Exception Location:
>>> >>> /usr/lib/python2.6/site-packages/django/forms/models.py
>>> >>> in model_to_dict, line 124  Python Executable: /usr/bin/python  Python
>>> >>> Version: 2.6.6  Python Path:
>>> >>>
>>> >>> ['/usr/lib/python2.6/site-packages/pip-1.5.2-py2.6.egg',
>>> >>>  '/usr/lib64/python26.zip',
>>> >>>  '/usr/lib64/python2.6',
>>> >>>  '/usr/lib64/python2.6/plat-linux2',
>>> >>>  '/usr/lib64/python2.6/lib-tk',
>>> >>>  '/usr/lib64/python2.6/lib-old',
>>> >>>  '/usr/lib64/python2.6/lib-dynload',
>>> >>>  '/usr/lib64/python2.6/site-packages',
>>> >>>  '/usr/lib/python2.6/site-packages',
>>> >>>  '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info',
>>> >>>  '/var/www/html/ihttest/ihttcs_test/kojin',
>>> >>>  '/var/www/html/ihttest/ihttcs_test/kojin/static/']
>>> >>>
>>> >>>  Server time: Mon, 28 Apr 2014 11:19:29 +0900  Traceback Switch to
>>> >>> copy-and-paste
>>> >>>
>>> >>> view<http://dev1.so2.co.jp/ihttest/ihttcs_test/tcsarticles/attendance/11/#>
>>> >>>
>>> >>>
>>> >>>    - /usr/lib/python2.6/site-packages/django/core/handlers/base.py in
>>> >>>    get_response
>>> >>>    1.
>>> >>>
>>> >>>                           response = wrapped_callback(request,
>>> >>> *callback_args, **callback_kwargs)
>>> >>>
>>> >>>       ...
>>> >>>     ▶ Local
>>> >>>
>>> >>> vars<http://dev1.so2.co.jp/ihttest/ihttcs_test/tcsarticles/attendance/11/#>
>>> >>>
>>> >>>    - /var/www/html/article/views.py in attendance
>>> >>>    1.
>>> >>>
>>> >>>               form = Attendance_dataForm(request.POST, instance =
>>> >>> attendance)
>>> >>>
>>> >>>
>>> >>> this is my Views.py:
>>> >>> def attendance(request, user_id):
>>> >>>     if request.method == "POST":
>>> >>>
>>> >>>         form = Attendance_dataForm(request.POST, instance =
>>> >>> attendance)
>>> >>>         if form.is_valid():
>>> >>>             form.save()
>>> >>>             return HttpResponseRedirect('/articles/get/%s' % user.id)
>>> >>>     else:
>>> >>>         form = Attendance_dataForm()
>>> >>>
>>> >>>     args = {}
>>> >>>     args.update(csrf(request))
>>> >>>     args['form'] = form
>>> >>>     return render_to_response('staff_data.html', args,
>>> >>> context_instance
>>> >>>
>>> >>> = RequestContext(request, {'form': form}))
>>> >>> def leave_work(request, user_id):
>>> >>>     if request.method == "POST":
>>> >>>  #       leave_work = Leave_work(user = request.user_id)
>>> >>>
>>> >>>         form = Leave_workForm(request.POST, instance = leave_work)
>>> >>>         if form.is_valid():
>>> >>>             form.save()
>>> >>>             return HttpResponseRedirect('/articles/get/%s' % user.id)
>>> >>>     else:
>>> >>>         form = Leave_workForm()
>>> >>>     c = {}
>>> >>>     c.update(csrf(request))
>>> >>>     c['form'] = form
>>> >>>     return render_to_response('staff_data.html', c,  context_instance
>>> >>> =
>>> >>> RequestContext(request, { 'form': form}))
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> 2014年4月24日木曜日 7時08分05秒 UTC+9 Lachlan Musicman:
>>> >>>>
>>> >>>>
>>> >>>> On 23 April 2014 17:59, hito koto <hitoko...@gmail.com> wrote:
>>> >>>>
>>> >>>>> Thank you!
>>> >>>>> i can do create!
>>> >>>>>
>>> >>>>> Sorry! i'm don't understand create staff site,
>>> >>>>> i want to create  staff site , staff site should have when rogin
>>> >>>>> using
>>> >>>>>
>>> >>>>> ID/PW and have staff profile
>>> >>>>> i'm realy don't know!
>>> >>>>>
>>> >>>>> pleae help me
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> So you need to create an URL that looks something like:
>>> >>>>
>>> >>>> https://URL/staff/staff_id
>>> >>>>
>>> >>>> And you want to redirect to that after login. This question has one
>>> >>>> example of how to solve that problem:
>>> >>>>
>>> >>>> http://stackoverflow.com/questions/4870619/django-
>>> >>>> after-login-redirect-user-to-his-custom-page-mysite-com-username
>>> >>>>
>>> >>>> cheers
>>> >>>> L.
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> 2014年4月23日水曜日 16時18分44秒 UTC+9 Lachlan Musicman:
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> On 23 April 2014 14:11, hito koto <hitoko...@gmail.com> wrote:
>>> >>>>>>
>>> >>>>>>> Thank you very much good idea!
>>> >>>>>>> i'm was try but i'm have error when create new staff !
>>> >>>>>>>
>>> >>>>>>> >>Request Method: POST  >>Request URL: http://articles/create/
>>> >>>>>>> >> >>Django
>>> >>>>>>> Version: 1.6.2  >>Exception Type: IntegrityError  >>Exception
>>> >>>>>>> Value:
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> (1048, "Column 'user_id' cannot be null")
>>> >>>>>>>
>>> >>>>>>>  >>Exception Location: /usr/lib64/python2.6/site-pack
>>> >>>>>>> ages/MySQLdb/connections.py in defaulterrorhandler, line 36
>>> >>>>>>> >>Python
>>> >>>>>>>
>>> >>>>>>> Executable: /usr/bin/python
>>> >>>>>>>  >>/var/www/html/article/views.py in create
>>> >>>>>>>
>>> >>>>>>>  >>           form.save()
>>> >>>>>>>
>>> >>>>>>> this is my views.py:
>>> >>>>>>>
>>> >>>>>>> def create(request):
>>> >>>>>>>     if request.POST:
>>> >>>>>>>         form = ArticleForm(request.POST)
>>> >>>>>>>         if form.is_valid():
>>> >>>>>>>             form.save()
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>             return HttpResponseRedirect('/articles/all')
>>> >>>>>>>
>>> >>>>>>>     else:
>>> >>>>>>>         form = ArticleForm()
>>> >>>>>>>     args = {}
>>> >>>>>>>     args.update(csrf(request))
>>> >>>>>>>     args['form'] = form
>>> >>>>>>>     return render_to_response('create.html', args)
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>
>>> >>>>>> I'm actually racing out the door, but quickly: the id field is
>>> >>>>>> automatic. Your form refers to a user_id field that doesn't exist
>>> >>>>>> on
>>> >>>>>> your
>>> >>>>>> model except as implied. In that case, you don't need to ask for
>>> >>>>>> user_id in
>>> >>>>>> the form. If you want staff to have an ID_number, you should
>>> >>>>>> separate
>>> >>>>>> it
>>> >>>>>> from the id (also known as the pk or primary key) field in the
>>> >>>>>> model
>>> >>>>>> class,
>>> >>>>>> then query it in the form.
>>> >>>>>>
>>> >>>>>> But as it stands, you can remove it from your form, and that should
>>> >>>>>> work.
>>> >>>>>>
>>> >>>>>> cheers
>>> >>>>>> L.
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>>  this is my forms.py:
>>> >>>>>>> from django import forms
>>> >>>>>>> from models import User,Staff, Address
>>> >>>>>>> from django.contrib.auth.models import User
>>> >>>>>>>
>>> >>>>>>> class ArticleForm(forms.ModelForm):
>>> >>>>>>>
>>> >>>>>>>     class Meta:
>>> >>>>>>>         model = User
>>> >>>>>>>         fields = ('user_name','first_kana', 'last_kana',
>>> >>>>>>> 'employee_number','birthday')
>>> >>>>>>>     user_id = forms.CharField(label="id",
>>> >>>>>>> error_messages={'required':
>>> >>>>>>>
>>> >>>>>>> ''}, help_text='必須')
>>> >>>>>>>     user_name = forms.CharField(label="氏名",
>>> >>>>>>> error_messages={'required': ''}, help_text='必須')
>>> >>>>>>>     first_kana =
>>> >>>>>>> forms.CharField(label="ふりがな(性)",error_messages={'required':
>>> >>>>>>> ''}, help_text='必須')
>>> >>>>>>>     last_kana =
>>> >>>>>>> forms.CharField(label="ふりがな(名)",error_messages={'required':
>>> >>>>>>> ''}, help_text='必須')
>>> >>>>>>>     employee_number = forms.CharField(label="社員番号",
>>> >>>>>>> required=False)
>>> >>>>>>>     birthday = forms.CharField(label="生年月日", required=False)
>>> >>>>>>>
>>> >>>>>>>     class Meta:
>>> >>>>>>>         model = Address
>>> >>>>>>>         fields = ('user_name','postalcode', 'address',
>>> >>>>>>> 'residence','number')
>>> >>>>>>>     user_name = forms.CharField(label="氏名",
>>> >>>>>>> error_messages={'required': ''}, help_text='必須')
>>> >>>>>>>     postalcode = forms.CharField(label="郵便番号", required=False)
>>> >>>>>>>     address = forms.CharField(label="住所", required=False)
>>> >>>>>>>     residence = forms.CharField(label="住所開始日", required=False)
>>> >>>>>>>     number = forms.CharField(label="電話番号", required=False)
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>>
>>> >>>>>>> 2014年4月23日水曜日 7時03分10秒 UTC+9 Lachlan Musicman:
>>> >>>>>>>
>>> >>>>>>>> On 23 April 2014 01:52, hito koto <hitoko...@gmail.com> wrote:
>>> >>>>>>>> > thank you very much
>>> >>>>>>>> >>>>Each Staff can login.
>>> >>>>>>>> >>>>Each staff should only see their own page or dataset.
>>> >>>>>>>> > This is correct
>>> >>>>>>>> >
>>> >>>>>>>> > I want to create administrator page and each staff ,
>>> >>>>>>>> > 1, i want , Staff can see the staff page with ID and PW that an
>>> >>>>>>>> > administrator has issued
>>> >>>>>>>> > 2, administrator can see all the staff page and all staff's
>>> >>>>>>>> information
>>> >>>>>>>> > 3, each staff should only see their own page or dataset.
>>> >>>>>>>> > So, i don't know how to create staff page,only see their own
>>> >>>>>>>> > page,
>>> >>>>>>>> >
>>> >>>>>>>> >
>>> >>>>>>>> > please help me
>>> >>>>>>>> >
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> Ok, well first things first. You can do this through the django
>>> >>>>>>>> admin,
>>> >>>>>>>> but it would be easier if you didn't.
>>> >>>>>>>>
>>> >>>>>>>> Create a class based DetailView like such:
>>> >>>>>>>>
>>> >>>>>>>> https://docs.djangoproject.com/en/1.7/topics/class-based-views/
>>> >>>>>>>>
>>> >>>>>>>> using your Staff model as the base, set up a url schema to deal
>>> >>>>>>>> with
>>> >>>>>>>>
>>> >>>>>>>> it and then add a mixin as explained in the Stack Overflow post I
>>> >>>>>>>> linked to.
>>> >>>>>>>>
>>> >>>>>>>> The administrator/Manager can always see all data through their
>>> >>>>>>>> admin
>>> >>>>>>>> view, the staff need to login, and they get the restricted view
>>> >>>>>>>> of
>>> >>>>>>>> their own page.
>>> >>>>>>>>
>>> >>>>>>>> cheers
>>> >>>>>>>> L.
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> --
>>> >>>>>>>> From this perspective it is natural that anarchism be marked by
>>> >>>>>>>> spontaneity, differentiation, and experimentation that it be
>>> >>>>>>>> marked
>>> >>>>>>>>
>>> >>>>>>>> by
>>> >>>>>>>> an expressed affinity with chaos, if chaos is understood to be
>>> >>>>>>>> what
>>> >>>>>>>>
>>> >>>>>>>> lies outside or beyond the dominant game or system. Because of
>>> >>>>>>>> the
>>> >>>>>>>> resistance to definition and categorisation, the anarchist
>>> >>>>>>>> principle
>>> >>>>>>>>
>>> >>>>>>>> has been variously interpreted as, rather than an articulated
>>> >>>>>>>> position, "a moral attitude, an emotional climate, or even a
>>> >>>>>>>> mood".
>>> >>>>>>>>
>>> >>>>>>>> This mood hangs in dramatic tension between utopian hope or
>>> >>>>>>>> dystopian
>>> >>>>>>>> nihilism...
>>> >>>>>>>> -----
>>> >>>>>>>> http://zuihitsu.org/godspeed-you-black-emperor-and-the-polit
>>> >>>>>>>> ics-of-chaos
>>> >>>>>>>>
>>> >>>>>>>  --
>>> >>>>>>> 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...@googlegroups.com.
>>> >>>>>>> To post to this group, send email to django...@googlegroups.com.
>>> >>>>>>>
>>> >>>>>>> Visit this group at http://groups.google.com/group/django-users.
>>> >>>>>>> To view this discussion on the web visit
>>> >>>>>>> https://groups.google.com/d/
>>> >>>>>>> msgid/django-users/a8c07540-4a96-4fb3-b429-19b9feaa5b4b%40goog
>>> >>>>>>>
>>> >>>>>>> legroups.com<https://groups.google.com/d/msgid/django-users/a8c07540-4a96-4fb3-b429-19b9feaa5b4b%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> >>>>>>> .
>>> >>>>>>>
>>> >>>>>>> For more options, visit https://groups.google.com/d/optout.
>>> >>>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>>
>>> >>>>>> --
>>> >>>>>> From this perspective it is natural that anarchism be marked by
>>> >>>>>> spontaneity, differentiation, and experimentation that it be marked
>>> >>>>>> by
>>> >>>>>> an
>>> >>>>>> expressed affinity with chaos, if chaos is understood to be what
>>> >>>>>> lies
>>> >>>>>>
>>> >>>>>> outside or beyond the dominant game or system. Because of the
>>> >>>>>> resistance to
>>> >>>>>> definition and categorisation, the anarchist principle has been
>>> >>>>>> variously
>>> >>>>>> interpreted as, rather than an articulated position, "a moral
>>> >>>>>> attitude, an
>>> >>>>>> emotional climate, or even a mood". This mood hangs in dramatic
>>> >>>>>> tension
>>> >>>>>> between utopian hope or dystopian nihilism...
>>> >>>>>> -----
>>> >>>>>> http://zuihitsu.org/godspeed-you-black-emperor-and-the-polit
>>> >>>>>> ics-of-chaos
>>> >>>>>>
>>> >>>>>  --
>>> >>>>> 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...@googlegroups.com.
>>> >>>>> To post to this group, send email to django...@googlegroups.com.
>>> >>>>> Visit this group at http://groups.google.com/group/django-users.
>>> >>>>> To view this discussion on the web visit
>>> >>>>> https://groups.google.com/d/
>>> >>>>> msgid/django-users/ad53110c-50e3-4010-9861-7909167cb4ab%
>>> >>>>>
>>> >>>>> 40googlegroups.com<https://groups.google.com/d/msgid/django-users/ad53110c-50e3-4010-9861-7909167cb4ab%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> >>>>> .
>>> >>>>>
>>> >>>>> For more options, visit https://groups.google.com/d/optout.
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> --
>>> >>>> From this perspective it is natural that anarchism be marked by
>>> >>>> spontaneity, differentiation, and experimentation that it be marked
>>> >>>> by
>>> >>>> an
>>> >>>> expressed affinity with chaos, if chaos is understood to be what lies
>>> >>>> outside or beyond the dominant game or system. Because of the
>>> >>>> resistance
>>> >>>> to
>>> >>>> definition and categorisation, the anarchist principle has been
>>> >>>> variously
>>> >>>> interpreted as, rather than an articulated position, "a moral
>>> >>>> attitude,
>>> >>>> an
>>> >>>> emotional climate, or even a mood". This mood hangs in dramatic
>>> >>>> tension
>>> >>>>
>>> >>>> between utopian hope or dystopian nihilism...
>>> >>>> -----
>>> >>>>
>>> >>>> http://zuihitsu.org/godspeed-you-black-emperor-and-the-politics-of-chaos
>>> >>>>
>>> >>>>
>>> >>>  --
>>> >>> 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...@googlegroups.com <javascript:>.
>>> >>> To post to this group, send email to
>>> >>> django...@googlegroups.com<javascript:>
>>> >>> .
>>> >>> Visit this group at http://groups.google.com/group/django-users.
>>> >>> To view this discussion on the web visit
>>> >>>
>>> >>> https://groups.google.com/d/msgid/django-users/47eba7b2-fa2c-42c5-bd18-1a55d3f0ad90%40googlegroups.com<https://groups.google.com/d/msgid/django-users/47eba7b2-fa2c-42c5-bd18-1a55d3f0ad90%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> >>> .
>>> >>>
>>> >>> For more options, visit https://groups.google.com/d/optout.
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> The idea of anathematising all of a person's good works because of
>>> >> something else they said or did is just as alien and repellent to us as
>>> >> our
>>> >> reaction is to someone who wishes Hacker News would die because Paul
>>> >> Graham
>>> >> is kind of a dick sometimes. ... Sergey Bratus points out that keeping
>>> >> works by "ideologically impure" persons out of public view was
>>> >> instrumental
>>> >> to Soviet systems of social control. And as @puellavulnerata acutely
>>> >> observes, a culture that encourages judging people unilaterally, rather
>>> >> than judging their actions in context, is one that allows
>>> >> socially-adept
>>> >> hierarchy climbers to decontextualise their own self-serving cruelties
>>> >> as
>>> >>
>>> >> "necessary for the cause" and stage witchcraft trials against the
>>> >> weirdoes
>>> >>
>>> >> on the margin.
>>> >>
>>> >>
>>> >> -----------------------------------------------------------------------------------------------------------
>>> >> https://medium.com/p/31895b01e68c
>>> >>
>>> >
>>> > --
>>> > 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...@googlegroups.com.
>>> > To post to this group, send email to django...@googlegroups.com.
>>> > Visit this group at http://groups.google.com/group/django-users.
>>> > To view this discussion on the web visit
>>> >
>>> > https://groups.google.com/d/msgid/django-users/0e47566a-3e87-46f8-baf8-53db8e1b2b55%40googlegroups.com.
>>> > For more options, visit https://groups.google.com/d/optout.
>>> >
>>
>> --
>> 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...@googlegroups.com.
>> To post to this group, send email to django...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/django-users.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/d9bd437b-ccc9-41e6-8f40-82715cb485a0%40googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> The idea of anathematising all of a person's good works because of
> something else they said or did is just as alien and repellent to us
> as our reaction is to someone who wishes Hacker News would die because
> Paul Graham is kind of a dick sometimes. ... Sergey Bratus points out
> that keeping works by "ideologically impure" persons out of public
> view was instrumental to Soviet systems of social control. And as
> @puellavulnerata acutely observes, a culture that encourages judging
> people unilaterally, rather than judging their actions in context, is
> one that allows socially-adept hierarchy climbers to decontextualise
> their own self-serving cruelties as "necessary for the cause" and
> stage witchcraft trials against the weirdoes on the margin.
> -----------------------------------------------------------------------------------------------------------
> https://medium.com/p/31895b01e68c



--
The idea of anathematising all of a person's good works because of
something else they said or did is just as alien and repellent to us
as our reaction is to someone who wishes Hacker News would die because
Paul Graham is kind of a dick sometimes. ... Sergey Bratus points out
that keeping works by "ideologically impure" persons out of public
view was instrumental to Soviet systems of social control. And as
@puellavulnerata acutely observes, a culture that encourages judging
people unilaterally, rather than judging their actions in context, is
one that allows socially-adept hierarchy climbers to decontextualise
their own self-serving cruelties as "necessary for the cause" and
stage witchcraft trials against the weirdoes on the margin.
-----------------------------------------------------------------------------------------------------------
https://medium.com/p/31895b01e68c

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d91a427c-0558-4a20-a3e1-eb86cd3b2a92%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: Error to customize a user

You don't have `has_perm` and `has_module_perms` methods defined in your user model while they are required:
https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#custom-users-and-django-contrib-admin

Not sure if it would help coz traceback is not about them but you can at least try and watch if smth will change.

четверг, 1 мая 2014 г., 5:33:13 UTC+4 пользователь Lucas Simon Rodrigues Magalhaes написал:
Hello, 

I have a problem when rendering my admin after creating a custom user. 

I followed the tutorial of Django [1] documentation and also Subclass AbstractBaseUser section of the book Twoo Scoops of Django. 

The error is described in this gist [2] and the code is in this repository [3]. 
The strange thing is that I set the USERNAME_FIELD = 'email' field in the model 


[1] # https://docs.djangoproject.com/en/1.5/topics/auth/customizing/ django.contrib.auth.models.CustomUser 

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f44d8750-a9fd-4ee3-b0e3-a886a32327cd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Error to customize a user

Hello, 

I have a problem when rendering my admin after creating a custom user. 

I followed the tutorial of Django [1] documentation and also Subclass AbstractBaseUser section of the book Twoo Scoops of Django. 

The error is described in this gist [2] and the code is in this repository [3]. 
The strange thing is that I set the USERNAME_FIELD = 'email' field in the model 


[1] # https://docs.djangoproject.com/en/1.5/topics/auth/customizing/ django.contrib.auth.models.CustomUser 
[2] https://gist.github.com/lucassimon/39f08556efa8a324d3fe 
[3] https://github.com/lucassimon/pywatch.com.br/tree/speaker_custom_user/speakers

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/5e2ec502-d8bf-439d-befc-eb8032d58f51%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: apache module - which is better?!


On Thu, May 1, 2014 at 4:18 AM, C. Kirby <misthop@gmail.com> wrote:
mod_wsgi

Django does not support mod_python

It's also important to point out why this is - mod_python is dead. It's been officially deprecated by Apache, and is not being maintained. It hasn't been updated for several *years*.

Yours,
Russ Magee %-) 

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJxq849zhipdg3TpOhzzJ8mwcnrtkO_pYkW27FdQavcfE3ieZw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Re: The Django 1.7 tees!

Hi Sithu,

Unfortunately, we can't add orders once the campaign is closed - this is one of the features of TeeSpring as a fund raising method.

We *can* relaunch the campaign, but that campaign would be independent to the original. It would have its own sales target, its own closing date, and so on. 

The lowest we can set the sales target is 20 shirts. I know there are about 6 other orders out there from people who missed the deadline; if there's any other interest out there (speak up in a reply if you're interested), we might consider reopening the campaign for a week.

Yours,
Russ Magee %-)


On Wed, Apr 30, 2014 at 11:58 PM, Sithembewena Lloyd Dube <zebra05@gmail.com> wrote:
To Whom It May Concern,

I am devastated that I could not place an order for one of the new Django 1.7 tees. Now that I am ready to go, the campaign has ended on the merchant website.

May I please place an order for one? I'd dearly like a memento of this milestone release. Pretty please? Size=small :)

--
Regards,
Sithu Lloyd Dube

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAH-SnCB%2BVP%2BVpM3g4Uj4qP5sWfMv4%3DFvcuiNFvbYAErJknTnmw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJxq84-mq6pnpX3WaSGrfBccE-hT1e7MY3xWRp_O62pkUpZGxw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Re: Email encoding (DKIM, long lines, etc..)


On Wed, Apr 30, 2014 at 7:13 PM, <notsqrt@gmail.com> wrote:
Hi !

I am implementing DKIM validation for my emails.
I noticed than some emails do not pass DKIM validation due to different body hashes.
I followed the email flow, and found that postfix automatically truncates lines to 998 characters if they are too long (in accordance to https://tools.ietf.org/html/rfc2822#section-2.1.1).

Such emails can be generated by Sentry, by my own apps, etc..

Now about Django:
When using EmailMessage, the charset is utf-8, and the Content-Transfer-Encoding is either 7bit or 8bit (automatically changes between them when the body contains non-ASCII characters).
cf the ticket where the developers decided to switch from base64 to this behaviour : https://code.djangoproject.com/ticket/3472

Quick validation with:

>>> from django.core.mail import EmailMessage
>>> print EmailMessage('subject', 'body', 'from.me@example.net', ['to.you@example.net']).message().as_string()
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Subject: subject
From: from.me@example.net
To: to.you@example.net
Date: Wed, 30 Apr 2014 11:01:44 -0000
Message-ID: <20140430110144.1564.85693@localhost>
body


So at the moment, because Django says not to use base64 for utf-8 emails in its code, Django does no longer make sure that the lines are not too long, despite the RFC.

I see 3 ways to make sure that the lines are not too long :
  • automatically split lines in a way that can be recognized by email readers (no idea how to do that properly..) (in Django/in the apps)
  • go back to base64 (but it seems to increase spam scores)
  • switch to quoted-printable (functioning code below, no idea of the potentially negative impact)
  from django.core.mail.message import utf8_charset  from email import Charset  utf8_charset.body_encoding = Charset.QP
What do you think ?
Is Django code / app code the correct place to fix this ?
 
I'd say so. EmailMessage et al are the end user's public interface to sending mail. If a user can use our API to generate a non-RFC compliant mail, then that's a bug. Even if the root cause of the bug lies in a deeper layer (e.g., Python's email library), we should do everything we can to provide a workaround so that end users aren't affected.

Should Django respect the RFC ?

Absolutely. Django shouldn't expose a public API that makes it possible to generate non-RFC emails payloads; furthermore, if there's any defacto standards or common practices that make an email unacceptable on receipt (e.g., the problem with base64 encoding getting flagged as spam), we should be adhering to that, too.
 
Any other ideas ?


It sounds like you've found a problem; this should be logged as a ticket so it isn't forgotten. If you want to try your hand at a patch, the help would be most welcome.

I'd need to do some more reading about the right solution; Quoted Printable might be workable, but I'm also not aware if that will have any downstream consequences. Some investigation will be required. The only option I can rule out is moving back to base64, because that was done for a reason. Unless you can validate that base64 encoding is no longer penalized by popular spam services, this isn't an option.

Yours,
Russ Magee %-)
 

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJxq84941tt7_p1OB5Y3DBE0oHGaaM0F1RupL%3Du5_rQWEG8x7Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

error in "makemessages" command on latest django version (1.8dev)

hello, was testing in the latest version of Django[1] directly from Github and am having this problem


optparse.OptionConflictError: option -e/--extension: conflicting option string(s): -e

That would be a bug or am I doing something wrong

In this link you can see all the steps I did to get this error

https://asciinema.org/a/9213


[1] https://github.com/django/django/tree/8f6dff372b174e772920de6d82bd085f1a74eaf2

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/afcfaea9-145c-4abd-8cde-99022da9c2db%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

regression? validate_email accepts trailing dash

Hi everybody,

I've found this behavior that feels like a bug. I would like your opinion on whether it is a bug.

In django 1.6 an EmailField will accept an address of the form 'foo@bar.com-'
In django 1.4 it would trigger a ValidationError.

Should this be considered a regression?

The way I interpret the email domain name specs foo@bar.com- is technically a valid email address, because bar.com- is technically a valid domain. But in practice there aren't any top level domains with a dash at the end, so this behavior is completely unexpected.

reference:
 * email spec: http://tools.ietf.org/html/rfc2822#section-3.4
 * domain name spec: http://tools.ietf.org/html/rfc1035#section-2.3.1


Tested in both versions like so:
   from django.core.validators import validate_email
   validate_email('foo@bar.com-')


Should I file a bug, do you think?

Thanks
-jason

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d7c5b6c5-6e32-454d-a5f0-e6556c7e2fa2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: apache module - which is better?!

mod_wsgi

Django does not support mod_python

On Wednesday, April 30, 2014 2:22:01 PM UTC-5, Hamed Rostami wrote:
which is better? 
1-mod_python
2-mod_wsgi
give me reason & document about this.


--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/c187ac20-15b5-4d18-a1ba-741979a2781e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Re: ManyToManyField causes invalid form when limit_choices_to argument set

Solved! It turned out the problem only occurred trying to uncheck the last checkbox. I needed to set blank=True on the ManyToManyField.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/045d2628-55da-4353-9f46-8893243161b4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ManyToManyField causes invalid form when limit_choices_to argument set

Good day,

This is a somewhat contrived example, but I'm having the same problem in a real project.

Assuming continents have many countries, and countries can belong to many continents, I have a continent_country "junction" table in the database and am using ManyToManyField as follows...

Models:
class Country(models.Model):
    country_id = models.AutoField(primary_key=True)
    country_name = models.CharField(max_length=200)

    class Meta:
        managed = False
        db_table = 'country'

    def __unicode__(self):
        return '%s' % (self.country_name)

class Continent(models.Model):
    continent_id = models.AutoField(primary_key=True)
    continent_name = models.CharField(max_length=200)
    country = models.ManyToManyField(Country, db_table='continent_country', limit_choices_to=Q(country_id__exact=1))

    class Meta:
        managed = False
        db_table = 'continent'

Form:
class ContinentForm(ModelForm):
    class Meta:
        model = Continent
        widgets = {'country': CheckboxSelectMultiple}

Using this form, everything saves as expected if I remove the limit_choices_to=Q(country_id__exact=1)argument. However, using the form with the ManyToManyField configured as shown causes the form to be returned with is_valid=False in the POST, indicating that field country is required.

I traced into the django code for a bit, but as a relative rookie got somewhat lost! Why does limiting the list prevent django from setting the country? How to work around this? Any ideas greatly appreciated...

Thanks in advance,
Randal

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/aa1249ca-dc1b-4abb-91e8-45a174a8506f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.