urls.py
urlpatterns = [ path('vendors/', views.loomerang_admin_vendors, name="loomerang_admin_vendors"), path('vendor_profile/<str:userid>', views.loomerang_admin_vendor_profile, name="loomerang_admin_vendor_profile"), ]modelo
{% for vendor in vendors %} <tr> <th scope="row">{{vendor.id}}</th> <td>{{vendor.date_joined|date:"dmY"}}</td> <td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' userid %}">{{vendor.userid}}</a></td> <td>{{vendor.first_name}}</td> <td>{{vendor.status}}</td> <td>20-12-2021</td> <td>Lokesh</td> </tr> {% endfor %}vistas.py
def loomerang_admin_vendor_profile(request, userid): print(request.user.userid) vendor_name = request.POST.get("vendor_id") basic_details = CustomUser.objects.filter(id=request.user.id) store_details = basic_details[0].vendor_details.all() print(store_details) return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details})modelos.py
class CustomUser(AbstractUser): username = None email = models.EmailField(_('email address'), unique=True) mobile_number = models.IntegerField(blank=False, null=True) first_name = models.CharField(max_length=200) last_name = models.CharField(max_length=200) USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] customer = models.BooleanField(default=False, editable=False) vendor = models.BooleanField(default=False, editable=False) id = models.AutoField(primary_key=True, editable=True) userid = models.CharField(max_length=100, unique=True, null=True) approved_by = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True) approved_date = models.DateField(null=True, blank=True) status = models.CharField(max_length=10,choices=STATUS_CHOICES,default="Waiting") objects = UserManager() def __str__(self): return str(self.userid)He mostrado todos los detalles de los usuarios como una tabla. Si hago clic en la identificación en una fila, me redirigirá a otra página y obtendrá toda la información que tiene el usuario en particular. Aquí estoy yo no sé hacer eso. por favor, espero una respuesta.
En primer lugar, debe filtrar por el argumento userid pass to request y luego obtiene la identificación a través de forloop en una plantilla como vendor.userid, no sé qué está tratando de lograr al obtener el nombre_proveedor = request.POST.get ("vendor_id"), ¿tiene un modelo diferente para el proveedor?
def loomerang_admin_vendor_profile(request, userid): print(request.user.userid) vendor_name = request.POST.get("vendor_id") basic_details = CustomUser.objects.filter(id=userid) store_details = basic_details[0].vendor_details.all() print(store_details) return render(request, 'loom_admin/vendor_profile.html', {'basic_details':basic_details, 'store_details':store_details}) {% for vendor in vendors %} <tr> <th scope="row">{{vendor.id}}</th> <td>{{vendor.date_joined|date:"dmY"}}</td> <td name="vendor_id"><a href="{% url 'loomgerang_admin:loom_admin_vendor_profile' vendor.userid %}">{{vendor.userid}}</a></td> <td>{{vendor.first_name}}</td> <td>{{vendor.status}}</td> <td>20-12-2021</td> <td>Lokesh</td> </tr> {% endfor %}