0

Django 创建基本的身份验证表,如auth_user, auth_user_groups,auth_user_user_permissions等。

我目前有(1)个带有自定义表的数据库,例如Tld等。Tld 代表顶级域。

但是,django 已经为上述权限创建了自己的表。如何将特定的 PK 绑定auth_user到我的Tld桌子上?

我知道,我知道FK->PK关系,但这并不是开箱即用的。

基本上,我想检查用户当前是否在两个表上有一个 tld(应该只是一个 JOIN),但是由于数据库当前代表<any-django-out-of-box-auth>表不知道我制作的任何自定义表。

如何使此过程正常工作,例如,我有一个为 Tlds 创建新记录的视图:

def Scan(request):
    form = SubmitDomain(request.POST or None) # A form bound to the POST data
    if request.method == 'POST': # If the form has been submitted...
        if form.is_valid(): # If form input passes initial validation...
            domainNmCleaned = form.cleaned_data['domainNm']  ## clean data in dictionary
            form.save() #save cleaned data to the db from dictionary
            try:
                return HttpResponseRedirect('/S/?domainNm=' + domainNmCleaned)
            except:
                raise ValidationError(('Invalid request'), code='300')
    else:
        form = SubmitDomain()

    return render(request, 'myapp/index.html', {
        'form' : form 
    })

我如何让它也将当前登录的Userid 插入另一个名为的表中Tld__User?这样,当我加入Tld系统创建的Auth_User表时,我可以查看用户是否有任何 Tld?

谢谢!

4

1 回答 1

-1

经过进一步研究,我发现了这一点:

from django.contrib.auth.models import User

class Employee(models.Model):
    user = models.OneToOneField(User)
    department = models.CharField(max_length=100)

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#handling-authorization-in-custom-backends

于 2013-10-21T22:26:34.170 回答